Putty and TortoiseSVN

This section discusses how to use Subversion to access the Mono SVN repository.

Mono's subversion repository is only available through a secure shell connection (ssh). To access the repository, you must use TortoiseSVN as well as Putty (an SSH client).

Table of contents

Install PuttyGen

puttygen.exe

generate a .ppk

Convert your id_[dr]sa private key to a .ppk using PuttyGen

  • run puttygen
  • select the Load button
  • browse to and select your private RSA or DSA ssh key
  • enter your password when prompted
  • read the presented dialogue
  • click the Save private key button
  • enter a filename for your new .ppk file when prompted
  • press Save

Install Putty

putty.exe

  • Create session called mono-cvs.ximian.com
    • open putty.exe
    • under Host Name (or IP address), enter $USER@mono-cvs.ximian.com (where $USER is your username)
    • under Saved Sessions, enter "mono-cvs.ximian.com"
    • click the Save button
  • Select .ppk file for authentication
    • in the Category tree, select Connection->SSH->Auth
    • in the field under Authentication Parameters, click the Browse... button
    • browse to and select your .ppk file
  • Save your session information
    • in the Category tree, select Session
    • under Load, save or delete a stored session, select mono-cvs.ximian.com
    • click the Save button

Install Pageant

pageant.exe

Run the ageant

  • double-click on pageant.exe
  • you should now see a computer with a black hat in the tray

Add your .ppk to the ageant

  • right-click on the computer with the black hat in your taskbar
  • select Add Key from the context menu
  • browse to your recently-created .ppk file and select it
  • click Open
  • enter your password when prompted
  • verify that your key has been added by double-clicking on the computer with the black hat

Install Plink

plink.exe

Install TortoiseSVN

TortoiseSVN download page

Configure Mr. Turtle

This is the part we've all been waiting for. You need to tell TortoiseSVN to use TortoisePlink to handle its SSH traffic. To do this see the following steps:

  • right-click on an explorer window somewhere
  • hover over TortoiseSVN in the context menu
  • select Settings from the sub-menu
  • select Network from the list on the left
  • under the SSH box in the right side, click the Browse... button
  • browse to and select TortoisePlink.exe (mine is in c:\Program Files\TortoiseSVN\bin\TortoisePlink.exe)
  • click Open
  • click Apply

Check sumfin' out

  • In the explorer, under your source tree (mine is C:\Documents and Settings\$USER\Desktop\src\svn\mono), right-click on some empty space
  • Select SVN Checkout...
  • under URL of repository:, enter the following
    • svn+ssh://$USER@mono-cvs.ximian.com/source/trunk/mono
  • under Checkout directory:, enter something similar to the following
    • C:\Documents and Settings\$USER\Desktop\src\svn\mono\mono
  • click the OK button
  • When prompted whether you want to create the non-existent directory, say yes