MetaPRL Read-Write CVS Access

  1. Make sure you have OpenSSH (or some other implementation of SSH version 1 protocol) installed on your computer.
  2. If you do not have a CVS account set up for you on cvs.metaprl.org:
    1. Generate an SSH v.1 RSA key pair (see our server HOWTO document for detailed instructions).
    2. Send your public key (~/.ssh/identity.pub) and your desired login to Aleksey Nogin (nogin@cs.caltech.edu).
  3. Put the following into your ~/.ssh/config file (if you do not have ~/.ssh/config file, then create one):
    Host metaprl-cvs
    HostName cvs.metaprl.org
    Port 80
    FallBackToRsh no
    ForwardX11 no
    User <your login on cvs.metaprl.org>
  4. Set environment variable CVS_RSH to ssh. You may want to add this to your ~/.profile or ~/.cshrc file.
  5. Make sure you are using cvs version >=1.9 (cvs -v prints version).
  6. To create new working copy:
    cvs -d :ext:metaprl-cvs:/cvsroot checkout metaprl
    If for some reason you can not connect to port 80 on metaprl-cvs, try using port 3000 instead.
  7. To fix an old repository:
    1. Put the following in the /tmp/fixrep.sh :
      #!/bin/sh
      echo :ext:metaprl-cvs:/cvsroot > $1/Root
      (echo 's|/metaprl|/--metaprl-root-dir--|'; echo 's|^.*/--metaprl-root-dir--|/cvsroot/metaprl|'; echo w; echo q) | ed $1/Repository
    2. chmod 755 /tmp/fixrep.sh
    3. find <old repository directory> -type d -name CVS -exec /tmp/fixrep.sh \{\} \;