CVS Access

The QCDOC Collaboration


access | submission | ssh

Accessing the CPS Code Repository

To access the CVS repository, you need an account at Columbia.

The repository is served with a patched version of CVS to allow limited access to code on branches (N.B. any version can be used on the client side). Access is via the pserver method. For security this is routed through a SSL tunnel using stunnel.

For this to work a machine on your local network should be running a stunnel process. This needs to be done by someone with root privileges (see below).

The following machines are running stunnel:

To check out the current version of the Columbia code, you need to type

$ cvs -d :pserver:username@host:2401/home/cvs/cps login
where username is your username at Columbia and host is your local machine from the list above. This will prompt you for your password at Columbia. After entering your password, type
$ cvs -d :pserver:username@host:2401/home/cvs/cps co -P cps++
This checks out the entire codebase out into a directory called `cps++'.

If you wish, you can omit the -d flag entirely by setting the environment variable CVSROOT

$ export CVSROOT=:pserver:username@host:/home/cvs/cps
in bash, or
$ setenv CVSROOT :pserver:username@host:/home/cvs/cps
in tcsh (see the CVS manual for details).

Note that some files need to be writeable in order for the build to work. If you wish to use the read-only flag cvs -r when checking out the module, you should make these files writeable with

$ find cps++ -name Makefile |xargs chmod 640

Submission of Changes

Developers are always welcome on the CPS project, however those who have permission to commit their own changes to the repository are asked to first submit the proposals for discussion on the cps++ mailing list qcd-measure-cps++. Your local institution or collaboration may have their own code of practise or protocol to observe.

Stunnel information for system administrators

With stunnel version 3.*, root should run
# stunnel -c -d 2401 -r qcdserver0.phys.columbia.edu:22401
Users should not need to know about stunnel. With stunnel version 4.*, root should run
# stunnel stunnel.conf
where stunnel.conf is a file containing the stunnel parameters. I have known this file to work:
# Sample stunnel configuration file

pid = stunnel.pid

# Some debugging stuff
debug = 7
output = stunnel.log

# Use it for client mode
client = yes

# Service-level configuration

[stunnel]
accept  = localhost:2401
connect = qcdserver0.phys.columbia.edu:22401
debug = 7 causes an awful lot of verbose output to be written to the file stunnel.log so you might want to reduce this once you are sure everything is running correctly.


[ $Revision: 1.10 $ - $Date: 2004/12/13 12:27:53 $ ]