CVS Pocket Reference


Term Definition
Module Typically, the CVS name for the development project directory
Checkout The action of downloading a module the first time
Commit The action of submitting a change in one or more files to CVS
Diff A list of differences between two versions of a file or a set of files
Vendor Tag Indicates the supplier of this module – used for branches naming
Release Tag Indicates the release version – used prior to merging branches


Every path is relative to the $CVSROOT.
A CVS Root directory resembles this:
Almost all commands act recursively (all the commands in this document act like that).

Create a module

To create a module on the repository:
$ cvs import [-m "Comments…"] path/module_name vendor_tag release_tag
This will also import all files from the current directory, recursively.


To grab the latest version of the files:
$ cvs checkout module_name
This will download all the files of the module into the current directory.
WARNING: This will synchronize the local folder with the remote one. This means that every file in the local folder will be overwritten or DELETED if they do not exist on the remote folder!


To commit your changes:
$ cvs commit [-m "Comments…"] [files]
If you don’t specify a comment, your default editor will be loaded allowing you to enter a comment (it is mandatory to enter a comment!).
If you don’t specify a file, it will commit every files under the current directory.

This article was first written by Bruno Dusausoy in October 2003 for
the BeezNest technical website (

Related Posts

Admin CVS on RH FC2

This article was first written in July 2005 for the BeezNest technical website...

HOWTO Move a CVS repositoy between servers on Debian

This article was first written in May 2006 for the BeezNest technical website...