Notes on CVS

cvsa is an alias that Federico has defined. I am also assuming that you have at least once done a cvsa login with the pass word that Federico has given you. I recently checked out the latest AliRoot with the latest ITS-working tagged code by typing

cd $ALICE cvsa checkout -d pro AliRoot cd $ALICE_ROOT cvsa chekcout -r ITS-working ITS

You can keep up to date of all of the new code in the HEAD bye typing

cd $ALICE_ROOT cvsa update

To just update the code in the STEER say then type

cd $ALICE_ROOT/STEER cvsa update

or to update the ITS

cd $ALICE_ROOT/ITS cvsa update

This will update your ITS with what is in ITS-working if that director was checked out from ITS-working or it will update your ITS directory frin the HEAD if it was checked out from the HEAD or from what ever branch you got that directory (3.02 for example).

By first checking out all of AliRoot, I get the latest version from the head. Then moving into the ITS directory I check out the ITS-working branch of the ITS. This way of doing it seems more difficult than the one line version

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

except that in this version all of the other directory coming from the head will not "update" proporly because these other directories think they are coming from the ITS-working branch. I used checkout instead of update since I wanted a "fresh" new copy of aliroot. By using update I would have modified an existing copy to the new one and tryed to merge any code that was different.

The "-r ITS-working" says to get the ITS code from the ITS-working branch. This is where all of our new code is.

The "-f" says to get any remaining code from the head, i.e. get the rest of aliroot from the head branch.

The "-d pro" says to put all of the code in a subdirectory of my present location called pro, i.e. since I am at $ALICE put the code in $ALICE/pro, which is typicaly $ALICE_ROOT.

The "AliRoot" is the name of the code I am getting, i.e. all of the aliroot code.

To update and merge with your existing ITS directory of your existing aliroot checkout you would type

cd $ALICE_ROOT/ITS

cvsa update -r ITS-working

How did I create this branch and stuff originaly?. Since I have write permision I did the following (and made at least one mistake).

cd $ALICE_ROOT ! put me in the aliroot directory cvs update ! made sure I had the latest and greatest aliroot gmake ! to make sure it compiled cd $ALICE_ROOT/ITS ! put me in the ITS directory cvs tag -b ITS-working ! created the ITS-working branch

edited all fo the files merging the new code into the old cvs code. Added tages to each file like RAuthero$, $ID$, $Name$, $Log$, $Revision$, and the like (hoping I got at least most of the files).

cvs add -m "major changes to the ITS code see README000000.txt" * ! this told cvs to commit the changes, unfortuatly also the tgt_Linux directory.

In the future by replacing the "*" with a list of file only those file will be add/commited to the cvs repository avoiding my original error. (Something was bound to go wrong the first time.)

AliRoot CVS Server