You are not logged in Log in Join
You are here: Home » DevHome » CVS » DoingWritableCheckouts

Log in
Name

Password

 
 

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!