Related Entries

Quick Start: Git for personal use
Quick Start Grinder - Part V
Quick Start Grinder - Part IV
Quick Start Grinder - Part III
Quick Start Grinder - Part II

« Associate filetypes to VIM
» Wish I had this 10 years ago

SVN client over SSH to remote Unix server from Windows

Quick notes on SVN client over SSH

I needed to get a quick way to work with a personal version control system accessible from multiple computers running Linux or Windows. Ideally, I’d have liked to use Mercurial (light, easy, no great GUI available) or Bazaar (thicker, slower, good renaming capabilities, just about the best GUI available) or Git (fast, not a bad GUI, portable MSYS port is pretty good). However, my hosting provider provides only CVS or Subversion and I didn’t want to install any of the above ones from source under my account. Nor do I want to run any server for this. Things should work with plain SSH. Initial approach was to create an SVN repository on the server and then access this from my computers using SSH. I tried getting svn+ssh pull for all of these above and couldn’t get to work quickly enough on my Windows XP box. Had to then settle for an SVN client. Turns out that it is little tricky. Given below are the quick steps I followed to get this working.

Just a personal preference - I don’t prefer using any of the Tortoise*GUIs. GUI as such is fairly nice, but I don’t generally like installing shell extensions on Windows. Ideal solution for me would’ve been the ability for any of these to init a repository on a remote filesystem by SSH - couldn’t find it out though.

First, download the required software and install these on Windows

  1. PuTTy - terminal emulator and SSH. Get the whole suite.
  2. RapidSVN - subversion client

Let us say you’ve created a subversion repository on your host - say the path is ssh://username@yourhost/full/path/to/repository

First thing to do is to get key based authentication going. Head over to PuTTy documentation to get an idea on that. The steps needed to do are

Now head over to the blog entry on setting RapidSVN with plink.exe You just need to specify the path to plink.exe in the RapidSVN initialization file and then checkout the project using your PuTTy session name. Minor irritation is that whenever you contact the server, a DOS window opens up when plink.exe is run. Note - if it seems to be doing nothing, check if pageant.exe is running and if the private key is added in that.