Terminology
| 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 | 
Remarks
Every path is relative to the $CVSROOT. A CVS Root directory resembles this: :extssh:username@cvs.domain.com:/var/lib/cvs 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.Checkout
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!Commit
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 (http://glasnost.beeznest.org/articles/84)