svn+ssh on Windows command line Mini HowTo

svn+ssh on Windows command line Mini HowTo

With Eclipse becoming mainstream even for non-Java applications the need to use svn+ssh URLs become more and more common.

Most HowTos suggest using the graphical subversion client from Tortoise, however I prefer command line for several reasons: reproducability, scriptability, avoiding of unneccessary/unwanted commits.

Subverions' command line variant for windows works great with putty's pageant as SSH agent, if one knows a few crucial things.
Unfortunately some of the steps are unknown enough for the next developer to be show stoppers, so I decided to write this Mini HowTo:

  • Install Putty.

  • Start the pageant from Putty's start menu group.

  • Generate a SSH2 public key or import your existing key to Putty (there's a lot of HowTos in the Web) (usually your key needs to be OpenSSH compatible).

  • Add this key to your running pageant.

  • Use putty to open an SSH2 connection to the subversion user@server you want to use later. This should work without password interaction!

  • Install Subversions command line Windows binary (e.g. svn-1.4.x-setup.exe from here ).

  • In your Subversions' config file, i.e. your %APPDATA%\Subversion\config, the section [tunnels] needs a line ssh=plink.

  • Check if the subversion installer have put Subversions' bin directory (e.g. C:\Program Files\Subversion\bin) in %PATH% (or do so yourself) and also add the Putty directory (e.g. C:\Program Files\Putty) in the system wide or your own PATH environment variable (control panel, system, advanced, environment variables).

  • Start a new command line window (an existing one does not get the extended %PATH%)

  • Now you should be able to svn co svn+ssh://foo@bar.com/var/svn/repository even without password typing ;-))

 


From: IBCL BLog.
Originally posted: 2007-09-19