This article details how a developer can set up the Subversion command line client svn and PuTTY on MS Windows to enable write access to the KDE Subversion Repository, using your existing SSH credentials from *nix.
In order for MS Windows to be able to find PuTTY and its related executable files, you need to add their location to your PATH variable. By default, puTTY will install to C:\Program Files\PuTTY. To edit your PATH (for Windows >= Win2k), Start -> Control Panel -> System -> Advanced -> Environment Variables -> System Variables -> Path -> Edit. Add "C:\Program Files\PuTTY;" to the end of the PATH variable value.
Copy the private ssh key that is associated with your KDE Subversion account to the MS Windows machine. In many cases this will be /home/kde-devel/.ssh/id_dsa. I put mine in C:\Documents and Settings\mark\My Documents.
In order to use your OpenSSH private key, you must first convert it to a puTTY Private Key (*.ppk). To do this, Start -> All Programs -> puTTY -> puTTYgen -> Load. Browse to wherever you saved your private key (id_dsa) and load it.
Once the key is loaded, click on 'Save Private Key' to save a copy of the key in a version that PuTTY can use. I saved mine as id_dsa.ppk.
Pageant is PuTTY's version of sshagent, holding your keys for you so you don't always have to enter your passphrase.
Start Pageant Start -> All Programs -> PuTTY -> Pageant. An icon will appear in your system tray. Right-click in the icon, then select view keys. If your key isn't listed, click on 'Add Key' and add the id_dsa.ppk key you created earlier.
I suggest adding Pageant to the MS Windows Startup group so that it launches every time you start Windows.
We need to create a new type of tunnel: subversion over puTTY (svn+putty://).
putty = plink -ssh -C -i c:\path\to\id_dsa.ppk -agent <svnaccountname>@svn.kde.org
plink is the command line version of puTTY. -ssh tells puTTY to use SSH protocol. -C turns on compression. -i is the path to your private key. -agent tells puTTY to try to use Pageant.
C:\KDE4> svn co svn+putty://svn.kde.org/home/kde/trunk/kdesupport/emerge