$ CVS_RSH=ssh2; export CVS_RSH$ cvs -d :ext:<your_netid>@cvs.csuglab.cornell.edu:/cvsroot checkout -P CS212_GBACongratulations! You now have a working CVS configuration on your system.
| Command | Description | Usage Example |
|---|---|---|
| checkout | Check out a directory, pruning all directories not containing any files | cvs checkout -P CS212_GBA |
| add* | Add a file or directory to source control | cvs add Mario.c |
| remove* | Remove a file or directory** from source control | cvs remove Koopa.c |
| update | Update your local copy of a file or directory (nonconflicting changes are merged) | cvs update Mario/sprites |
| commit | Commit a series of local changes to source control | cvs commit -m "fixed bug in collision detection" Mario.c |
| annotate | Show the authors and comments for all revisions to a file or directory. | cvs annotate Mario.c |
* A file is not actually added or removed until you commit the change.
** A notable limitation of CVS is that directories actually cannot be removed from source control.
This is just a small sample of CVS' functionality. There are other commands that you may find useful.
Also note that you can set the environment variable CVSROOT to :ext:<your_netid>@cvs.csuglab.cornell.edu:/cvsroot to avoid having to include the -d switch each time.
A number of graphical clients for CVS are available. They can be a useful tool. For Windows, we recommend TortoiseCVS. If you choose to use Eclipse for development, there is also an integrated CVS tool.