HELP WITH CVS


1) Definitions
-----------

First of all, you have to define the name of the Alice CVS server. This is
best done if you define the following aliases in your .tcshrc/.profile file
(depending on the unix shell you are using):

  1. if you only have a read-only permission:

     alias cvsa 'cvs -d :pserver:default password@alisoft.cern.ch:/soft/cvsroot'

  2. if you have a read/write permission:

     alias cvsa 'cvs -d :pserver:username@alisoft.cern.ch:/soft/cvsroot'

    where 'username' is a registered username in the Alice CVS server. Up to
    now, only Bjorn and I have read/write permission.

2) Registration
------------

Once you get this alias active, you have to register to the server once for
all typing:

cvsa login

The system then asks you for a password. If you have read/write permission type
the password you're registered with to the server. In any other case type in the
default password.

3) Checkout
--------

3.1) In the case you want to download the whole AliRoot package, put yourself
in the directory where you want to put the AliRoot tree and type:

cvsa checkout -d directory AliRoot

where 'directory' is the name you want to do to the present version of aliroot.
In this case you'll get all the files belonging to the "head" branch of the CVS
server.

3.2) If you are an ITS developers, or you're starting to be one, you might want
to download the latest version of the ITS software which is contained into the
branch "ITS-working" of the CVS server. In this case, type:

cvsa checkout -f -r ITS-working -d directory AliRoot

With this command you're asking the CVS server to give you the "head" version of
the aliroot package (this with the '-f' option) but the "ITS-working" version
of the ITS software (this with the '-r branch' option).

3.3) Once you have dowloaded the software the first time, you only need to
update the files that may have eventually changed on the server since the last
time you did it. This can be done with the command:

cd $ALICE_ROOT/ITS    (put yourself in the directory you want to update)

  1. cvsa update
    (if you want update from the default version)

  2. cvsa update -r "branch"
    (where "branch" is the branch you want to update from)

When you download the software the first time CVS knows the branch you used and
sets it as the default.

4) Commit
------

If you have the write permission on the CVS server, you need to use the
following commands to upload files on the server:

  1. cvsa commit filename -m "change log message"

    With this command you are uploading/updating the file "filename" which is
    already on the server. The "change log message" is a NON-CRYPTIC message which
    explains the changes you made to the file.

    If you want to upload on the server a new file which does not exist already, do
    the following:

  2. cvsa add filename -m "change log message" (let the server know about
    the new file)

  3. cvsa commit filename -m "change log message" (actually upload the file
    on the server)

Using the "-r branch" option you can add/commit the files in any branch you have
the right to write onto.

5) Miscellanea
-----------

  1. cvsa status > output.lis
(you're putting in the file output.lis the
status of your current directory with respect
to the same directory on the server)

  1. cvsa diff filename
(you get the list of differences between the
version of the "filename" you have in your
local directory and the same file on the
server)

AliRoot CVS Server