History for DoingWritableCheckouts
??changed:
-
Public Subversion Writable Checkouts
Below are instructions for hooking up with our Public Subversion repository
with checkin ability. (The instructions will only work for "those that have
checkin privileges", see WriteAccessRationale...)
Overview
Public Subversion checkin access uses the Subversion SSH tunneling mode.
You get registered for checkin access by the "cvs master",
mailto:[email protected], which provokes an email message with
instructions for depositing your SSH public key(s) via the web.
Once that's done, you're set to do the checkouts, all detailed
below.
See SVNResources for leads on Subversion info, and we suggest the "Open
SSH Project", http://www.openssh.com/ for guidance and resources
for SSH.
Depositing Your SSH Public Keys
When you're registered for public access, go to:
- https://cvs.zope.org/upload-key.html
where you can deposit your SSH public keys. Your key deposit is
protected by your zope.org account name and password.
You can use RSA or DSA, ssh v1 or v2 keys, or any combination.
You can revisit the key deposit page any time to put in your keys.
See WriteAccessHintAndTips for some of the common pitfalls to avoid.
Doing Checkouts (not Windows)
Any time ssh makes an RSA-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://[email protected]/repos/main/Zope/trunk Zope
You, of course, 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.
The same sort of thing applies when you do updates or other Subversion
commands on a checked-out hierarchy. You do *not* need to specify
the repository, however - Subversion has stashed that info in its
checkout bookkeeping (in the Subversion directories) - so the command to
do an update (with all the trimmings) would look like::
[From inside the checked-out Zope directory:]
% svn up
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:
o Under Session, use Host Name 'svn.zope.org', and select the SSH
protocol.
o Under Connection, put your zope.org username in the "auto-login
username" box.
o Under Connection -> SSH -> Auth, enter the path to your private
key file (whether generated by 'puttygen.exe', or otherwise).
(Note that private keys generated with !OpenSSH will not work with
!TortoisePlink.exe - you'll have to convert your private key to PuTTY's format
using 'puttygen.exe' or, conversely, generate a key with 'puttygen.exe'
saving it in the !OpenSSH format and update your public key(s) at
https://cvs.zope.org/account.php .)
o 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).
o Click "Open". You should then be asked to accept the server's key.
Do so, then log out.
o 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.
For the rest, follow the instructions in the non-Windows section above,
but use your PuTTY session name as the hostname.
Line endings
See the **important note on SubversionConfigurationForLineEndings**.
Rules
If you plan to do any checkins, make sure you know and follow the
CommitterGuidelines!
From adamg Mon Feb 13 03:55:00 US/Eastern 2006
From: adamg
Date: 2006/02/13 03:55 EST
Subject: Windows
Message-ID: <[email protected]>
On windows the procedure works with SSH-1 RSA keys.