ivmkcm button

Concurrent Versions System (CVS)


ivmkcm is layered on top of CVS which is an extension of RCS. CVS (from Brian Berliner and the Free Software Foundation) extends the notion of revision control from a collection of files in a single directory to a hierarchical collection of directories consisting of revision controlled files. These directories and files can be combined together to form a software release. Functions are provided to manage these software releases and to control the concurrent editing of source files among multiple software developers.

There is a facility for software developers to bring their private copies of the sources up-to-date with the currently checked in revisions, while at the same time preserving any modifications that have been made to their private sources. This allows multiple developers to be concurrently working on the same source files without regard for what other developers are doing.

Note that this is the biggest change from the way most other revision control systems work, like stand-alone RCS or SCCS, which allow only one developer to ever be changing a file, since the file must be checked out as ``locked'' for the exclusive use of that person. CVS instead never applies an RCS lock to a checked out file until the moment before it is to be checked back in as a permanent change. Concurrency checks are performed on the soon-to-be checked in file and the file must be up-to-date before it can be made permanent. In this way, CVS allows individuals the freedom to change any file at will, and provides the tools necessary to point out, if not resolve, any conflicts that may be generated.

Here is a Linux Journal article about cvs.