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)