[Bioperl-l] SVN and ...Re: Perltidy

Amir Karger akarger at CGR.Harvard.edu
Mon Jun 18 10:10:57 EDT 2007

> Just to clarify, subversion is available as command line for windows:
> http://subversion.tigris.org/project_packages.html
> TortoiseSVN is another svn client with a GUI that integrates into the
> shell. I tried setting this up a while back to use ssh (via 
> PUTTY), but
> I wasn't successful. This may have been due to me just 
> starting out with
> svn or that it was harder to setup in an earlier version of 
> TortoiseSVN.
> Does anyone have experience of setting up svn on Windows to 
> use ssh? If
> the changeover takes place, I'm happy to write some howto's 
> for setting
> up svn clients for Windows.

Here are some notes I wrote recently. I'm using this with command-line
svn, not TortoiseSVN. I would hope that it would work with Tortoise,
too, but I can't guarantee.

1. Run PuTTYgen (installed with PuTTY, probably in Start
menu->Programs->PuTTY) and follow directions to create a private key
file like C:\someplace\private_key.ppk and a public key. At this point,
you'll pick an ssh password, which is separate from your login password.

2. Get an account with the appropriate .ssh/authorized_keys file on the
host machine. (This is not Windows-specific. By the way, if you change
the lines of the authorized_keys file to start with, e.g., 
	command="svnserve -t -r /main/repos/dir",no-pty ssh-rsa AAAAB...
then (a) you're more secure because users can't open a real shell on the
computer, and (b) users don't need to type the repository directory in
their svn co commands.)

3. Set your environment variables (My Computer->Properties. Advanced
Tab, click on Environment Variables. In the top half ("User variables
for ..."), click "New" and put in the variable name and value.

3a. Set the SVN_EDITOR environment variable to your favorite editor,
such as vim or emacs, or a full path to some other editor. If it's not
set, then either VISUAL or EDITOR must be set.

3b. Set the SVN_SSH environment variable to run PuTTY's "plink" program,
which is the Windows equivalent of command-line ssh. If you installed
PuTTY in the default location, set it to "C:/Program
Files/PuTTY/plink.exe". Note 1: use FORWARD slashes. Note 2: Include the
quotation marks in the environment variable.

4. When you want to start using svn, you'll need to run Pageant (Start
menu->Programs->PuTTY), select "Add Key", browse to your private key
file, and enter the ssh password you chose in step 1 (not your login
password). Pageant will stay running until you quit it or logout, so you
can have multiple svn checkins etc., and you only need to type in your
password once.

5. Now just run command-line svn commands the same way you would on UNIX
(modulo Windows' brain-dead shell).

-Amir Karger

More information about the Bioperl-l mailing list