Subversion

From BarikWiki
Jump to: navigation, search

It's a page on a version control system, with all of the Windows quirkiness that it entails.

SVN+SSH

Good luck figuring this out, I haven't found a single piece of official documentation anywhere about it! If you stumble upon this page, I hope it saves you some trouble.

  • CollabNet is preferred for Windows. You can get the command-line client.
  • The svn+ssh protocol isn't going to work out of the box. I get the error: svn: E720087: Can't create tunnel: The parameter is incorrect..
  • Lots of documents tell you to take a look at %USERPROFILE%/Application Data/Subversion/config, which holds run-time configuration information for Subversion clients.
  • Likely, the SSH line is commented out, but it turns out that it actually should be! So don't change this file at all. Instead, you should add an environment variable SVN_SSH, which points to your location of Plink. Since this is fundamentally a UNIX program, with some strange C-style escaping, you'll either have to use \\ to delimit the folders, or a single forward-slash, such as: C:/Program Files (x86)/PuTTY/plink.exe.
  • For debugging, try setting it instead to C:/Program Files (x86)/PuTTY/plink.exe -v to get some verbosity.
  • However, it will still hang, probably because of password issues (as Plink is now non-interactive), and you'll need to use public keys for authentication. So SVN_SSH actually ends up becoming something like: C:/Program Files (x86)/PuTTY/plink.exe -v -l tbarik -i C:/Users/tbarik/Documents/pki/putty.ppk.

Alternatively, you can try TortoiseSVN. If you hate the fact that it's a shell extension, you can simply take TortoisePlink.exe from the distribution and use it by itself. In this way, your SVN_SSH variable would now be something like this: C:/Program Files (x86)/PuTTY/TortoisePlink.exe -v -i C:/Users/tbarik/Documents/pki/putty.ppk. Since TortoisePlink is interactive (that is, has graphical dialog boxes), you can opt to have it prompt you for a username, password, or both.