You only need to do "cvs login" once but the environment should be set in you .cshrc or .tcshrc.setenv CVSROOT :pserver:firstname.lastname@example.org:/u/u0/gcmpack cvs login ( CVS password: cvsanon )
This creates a directory called directory. If directory already exists this command updates your code based on the repository (see "Getting updates from the repository" below). Each directory in the source tree with contain a directory "CVS". This contains information required by CVS to keep track of your file versions with respect to the repository. Don't edit the files in CVS.cvs co -d directory -P MITgcm
You can also "check out" a particular version of the code. We use the notion of checkpoints to indicate the evolution of the code. To specify which "tag" you require use the -r option:
cvs co -d directory -P -r release1_beta1 MITgcm
will show the differences between your version and the version that you checked out. It acts recursively on all directories below your current directory. You can limit the operation to just one file or directory by specifying those as arguments:cvs diff
cvs diff file
behaves just as "cvs update" but doesn't actually change anything. This is a useful way of summarizing the statecvs -n update
will work recursively on all files in the current directory and below. To update just a specific file orcvs update -d -P
You can also update to a specific version, just as you could check out a specific version.cvs update file
If you checked out a specific version and want to update to the very latest use the -A option will remove associated with a specific version as follows:cvs update -d -P -r release1_beta1
"cvs update" produces output to the terminal with the following meanings:cvs update -d -P -A
|indicates that file was brought up to date with the repository or that it exists in the repository but not in your work space.
|does exactly as above but uses the "patch" method.
|means the file was modified in your work space. Any additional changes from the repository were merged in successfully.
|means a merge is necessary because both the your copy and the repository have changed but there is a conflict between the changes.
|means the file exists in your work space but not on the repository.
When conflicts arise, the sections of code are both kept and surrounded
by <<<<<, ===== and >>>>> indicators. You need to
examine these lines of the files and resolve the conflict.
|Last modified on $Date: 2002/04/08 19:46:14 $
CVS: /u/gcmpack/mitgcm.org/usingcvstoget.html,v $Revision: 1.6 $