Skip to content
March 29, 2007 / jphoward

Windows Subversion without cygwin

Cygwin is pretty cool, but the inconsistency between Unix-style and Windows permissions, and between Unix-style and Windows paths, can be a real pain. So, I’m not trying to live a Cygwin-free life. Step 1: try to get Subversion working. Here’s how:

First, download and install Tunnelier. Run it, and click "User keypair manager" (note – you don’t need to create a profile).

From that screen you can import your existing key (in OpenSSH format) or generate a new one. Note down which "slot" it’s in (if you only have one key, it’ll always be slot 1).

Now, you’ve got two options: use TortoiseSVN (a nice GUI) or the plain-old svn command line client. I use both.

TortoiseSVN

Download and install TortoiseSVN, then right-click any folder in Explorer and choose TortoiseSVN->Settings. In the ‘Network’ tab, set your SSH client to "sexec -pk=1" (change "1" to whatever slot your key is in).

Now, right click on any svn repository you have, and choose ‘SVN Update’. Or, right-click in the explorer background, and choose ‘SVN Checkout’.

svn command line

Download and install the windows installer from the Subversion web-site (you want the latest version ending with ‘-setup.exe’). After installation, edit the config file to set the ssh variable. With Powershell, just paste the following:

@"
[tunnels]
ssh = sexec -pk=1
"@ > $env:appdata/subversion/config

You should now find you can happily type ‘svn up’ in cmd, Powershell, or your other console of choice, and have it all "just work".

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: