History for DoingWritableCheckouts
??changed:
-
Public CVS Writable Checkouts
Below are instructions for hooking up with our Public CVS with
checkin ability. (The instructions will only work for "those that
have checkin privileges", ./WriteAccessRationale...)
Overview
Public CVS checkin access uses the CVS ":ext:" server mode via
SSH. 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 CVSResources for leads on CVS 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, you'll get an email
directing you to:
- https://cvs.zope.org/account.php
where you can deposit your SSH public keys. Your key deposit is
protected by your zope.org account name and password. (Until we
finish institution of the new Zope.org site, the syncronization of
the key-deposit view of the account db is poor, so you may need
"cvs master", mailto:[email protected] intervention to get this
right...)
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 new keys -
but you will have to resubmit any keys of the same type as new
ones your submitting, since the process replaces the entire
corresponding authorized keys file (authorized_keys or
authorized_keys2).
See WriteAccessHintAndTips for some of the common pitfalls to avoid.
Doing Checkouts
For all actions you need to have an environment variable, CVS_RSH
defined to the value "ssh". For bourne shell/bash::
CVS_RSH=ssh; export CVS_RSH
It's a good idea to have this in your login script. It will
affect anything where you use the cvs :ext: mode.
Any time ssh makes an RSA-key connection for cvs 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 - here's what i do when i checkout
the Zope module:
% cvs -d :ext:[email protected]:/cvs-repository checkout Zope
You, of course, should substitute the zope.org account name by
which you are registered.
CVS 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 CVS
commands on a checked-out hierarchy. You do *not* need to specify
the repository, however - CVS has stashed that info in its
checkout bookkeeping (in the CVS directories) - so the command to
do an update (with all the trimmings) would look like::
[From inside the checked-out Zope directory:]
% cvs -q up -d -P
Rules
If you plan to do any checkins, make sure you know and follow the
CommitterGuidelines!