Writable checkouts

Below are instructions for hooking up with our Public Subversion repository with checkin ability.

Before you start

Make sure you have registered as a committer.

Doing checkouts (Linux, MacOS-X, Un*X)

Any time ssh makes a key connection for subversion it will require your key passphrase. You can use ssh-agent to stash that key once for your shell, and not have to specify it again while you’re issuing commands from the same shell. It’s worthwhile getting acquainted with ssh-agent - check the man pages.

Now you’re ready to do a checkout. The best way to convey the specifics is with an example:

% svn co svn+ssh://username@svn.zope.org/repos/main/Zope/trunk Zope

You should substitute the zope.org account name by which you are registered.

Subversion commands using SSH this way will require you to provide the passphrase for the key being invoked - you will be prompted for it unless you have ssh-agent taking care of that for you.

Doing checkouts (Windows)

Some of the command line access methods that work on non-Windows systems don’t work on Windows. The TortoiseSVN project also offers a very nice integration of svn commands into the Windows Explorer GUI.

The easiest way to set up both (command line and TortoiseSVN) for svn+ssh access is to first download the popular PuTTY set of connection tools for Windows. Then, as a one-time setup cost, run ‘putty.exe’ to create a new PuTTY session for Zope svn+ssh access:

  • Under Session, use Host Name ‘svn.zope.org’, and select the SSH protocol.

  • Under Connection, put your zope.org username in the “auto-login username” box.

  • Under Connection -> SSH -> Auth, enter the path to your private key file (whether generated by ‘puttygen.exe’, or otherwise).

  • Back under Session, save the session under some unique name. For example, ‘svnzope’. Do note that ‘svn.zope.org’ can be used as the name! The examples here do not, just to make the distinction clear, but setting the name to ‘svn.zope.org’ can be a good idea, especially if you run on Windows and Linux (simply because it’s less confusing if you can type the same strings on all your platforms).

  • Click “Open”. You should then be asked to accept the server’s key. Do so, then log out.

  • Close ‘putty.exe’.

    PuTTY saves this config info in the Windows registry, where other programs can get at it via the session name you chose.

    Now when using any TortoiseSVN action where a svn+ssh ‘svn.zope.org’ URL is needed, just use ‘svnzope’ (or whatever name you picked for your session) instead of ‘svn.zope.org’ For example:

    svn+ssh://svnzope/repos/main/ZConfig/trunk
    

    instead of:

    svn+ssh://svn.zope.org/repos/main/ZConfig/trunk
    

    If you have an SSH passphrase, you can also run PuTTY’s ‘pageant.exe’ to supply it for you for as long as you leave ‘pageant’ running (‘pageant’ is like ‘ssh-agent’ on non-Windows systems).

    For command-line access, first set environment variable ‘SVN_SSH’ to the path to PuTTY’s ‘plink.exe’ (use forward slashes instead of back slashes in the path or it won’t work) – or you can set this once in your local svn config file. Look for the definition of ‘ssh’ in it, which is commented out by default. Uncomment and edit so that this section looks like:

    [tunnels]
    ssh = $SVN_SSH plink.exe
    

    Then, again, use the name of your saved PuTTY session instead of ‘svn.zope.org’ in svn command lines that need to reference the repository explicitly.