This is an old revision of the document!
For convenience, I will assume that the first thing you do is:
start powershell
(new-object System.Net.WebClient).DownloadFile("http://go.googlecode.com/files/go1.2.1.windows-amd64.msi", "$HOME\go1.2.1.windows-amd64.msi") (new-object System.Net.WebClient).DownloadFile("http://bitbucket.org/tortoisehg/files/downloads/tortoisehg-2.11.2-hg-2.9.2-x64.msi", "$HOME\tortoisehg-2.11.2-hg-2.9.2-x64.msi") (new-object System.Net.WebClient).DownloadFile("https://msysgit.googlecode.com/files/Git-1.9.0-preview20140217.exe", "$HOME\Git-1.9.0-preview20140217.exe") (new-object System.Net.WebClient).DownloadFile("https://launchpad.net/bzr/2.5/2.5.1/+download/bzr-2.5.1-1-setup.exe", "$HOME\bzr-2.5.1-1-setup.exe")
msiexec /i $HOME\go1.2.1.windows-amd64.msi /quiet msiexec /i $HOME\tortoisehg-2.11.2-hg-2.9.2-x64.msi /quiet $HOME\bzr-2.5.1-1-setup.exe /SILENT $HOME\Git-1.9.0-preview20140217.exe /SILENT
setx PATH "$env:PATH;${env:ProgramFiles(x86)}\Git\cmd;${env:ProgramFiles(x86)}\Bazaar;${env:ProgramFiles}\TortoiseHg" setx GOPATH "$HOME\golang"
$env:PATH = "$env:PATH;${env:ProgramFiles(x86)}\Git\cmd;${env:ProgramFiles(x86)}\Bazaar;${env:ProgramFiles}\TortoiseHg" $env:GOPATH = "$HOME\golang" mkdir $env:GOPATH
go get launchpad.net/juju-core/...
rm -Recurse -Force $env:GOPATH\src\launchpad.net\juju-core git clone https://github.com/cloudbase/juju-core.git $env:GOPATH\src\launchpad.net\juju-core cd $env:GOPATH\src\launchpad.net\juju-core && git checkout rebase-1.19
cd $env:GOPATH\src\code.google.com\p\go.crypto\ssh hg update -r 191:2990fc550b9f # hack for this particular checkout of juju
go install -v launchpad.net/juju-core/...
IMPORTANT NOTE
DRAGONS AHEAD
If you ever get a bunch of errors like the following:
conflicting definitions for @
Simply:
rm -Recurse -force $env:GOPATH\pkg\windows_amd64
and try again.