Working with the ATLAS cvs repository

Summary: :

export CVSROOT=:kserver:atlas-sw.cern.ch:/atlascvs

Executive summary: You need to use cvs in client-server mode to use the repository. Try export CVSROOT=:kserver:atlas-sw.cern.ch:/atlascvs to start with, and read this full document if this does not work. (For csh like shells, use the equivalent setenv CVSROOT :kserver:atlas-sw.cern.ch:/atlascvs). Note also the recommendations about the .cvsrc file.

There was a document describing all the known problems people have had using the cvs server. Consult this document before filing a bug report.

Some organisations allow users to access cvs repositories in local mode. In ATLAS, this is no longer the case. Users and developers alike need to use cvs in client-server mode if they want to access the repository.

Two access methods are currently supported: the kserver, and the pserver. For security reasons, the kserver is preferred.

1. General requirements

You need It is recommended to run cvs with the -z9 option in order to have the maximum compression. This can be set in the .cvsrc file.

2. kserver access

The kserver access method is recommended over the pserver one. It is simpler to use, and no passwords are transmitted (almost) in clear text, and stored on the local disk. In order to use it,

On many machines, this ticket can be obtained via the klog command. At CERN, just say klog; outside, you may need to issue 'klog <user> -cell cern.ch' instead. Depending on the installation, if klog does not give the desired result, you may wish to try klog.krb, kinit, or kauth instead. Now check whether you have what you need; again, on many machines, the tokens command does what you want:

pchmh% tokens

Tokens held by the Cache Manager:

User's (AFS ID 811) tokens for afs@cern.ch [Expires Jun 10 13:13]
User helge's tokens for krbtgt.CERN.CH@cern.ch [Expires Jun 10 13:13]
   --End of list--
You'll need an entry such as the one on the second line (the one for krbtgt.CERN.CH@cern.ch).

Now specify the root of the cvs repository (for example by setting the CVSROOT environment variable) like this:

:kserver:atlas-sw.cern.ch:/atlascvs
Note that it is unnecessary to specify a user name - the server system will get it from your Kerberos ticket. Now use cvs commands as usual, eg. 'cvs checkout', 'cvs commit', 'cvs update' etc.

3. pserver access

The pserver should only be used if kserver does not work. It stores a password on your home directory on the client system, and transfers it to the server, both only symbolically encrypted.

First, you will need to register a password for the pserver. Because of the security issues explained above, you are strongly advised not to use valuable passwords you use elsewhere, eg. your AFS password or the like. Then logon to lxplus and do this:

htpasswd -c ~/pwentry <user-name>
mail -s 'CVS password entry' atlas-sw-cvsmanagers@cern.ch < ~/pwentry
rm ~/pwentry
user-name is your AFS user name at CERN. Try /afs/cern.ch/atlas/@sys/bin/htpasswd if htpasswd does not work. A short human intervention is required, if you do not receive a message saying that your account is ready to be used within two working days send a further mail with a clear subject line to atlas-sw-cvsmanagers@cern.ch.

Now specify the root of the cvs repository (for example by setting the CVSROOT environment variable) like this:

:pserver:<user-name>@atlas-sw.cern.ch:/atlascvs
If your usernames on the local machine and at CERN match, you can simply use
:pserver:atlas-sw.cern.ch:/atlascvs
instead. When you use the cvs server for the first time, you need to issue 'cvs login' once. After successful verification, sufficient information will be saved to login in automatically in future. This information is saved in your ~/.cvspass file. Anyone who is able to read that file can impersonate you in terms of CVS access. The command cvs logout will remove the current CVSROOT defined connection information from the ~/.cvspass file. Now use cvs commands as usual, eg. 'cvs checkout', 'cvs commit', 'cvs update' etc.

Troubleshooting and Reporting Access Problems

If you have problems accessing the CVS Repository please go through the items below before making a problem report to the Savannah interface or the mailing list atlas-sw-cvsmanagers@cern.ch. Please make it clear if you have problems getting started or you are an experienced users and believe there is a service problem.