Next: Basic CVS Commands: A
Up: Appendix on Version Control
Previous: Appendix on Version Control
  Contents
The CVS Repository and Basic Concepts
CVS extends the notion of revision control from
a collection of files in a single directory, as in CMS, to a hierarchical
collection of directories each containing revision controlled files.
For example, two CVS repositories designed to contain the CDF offline software
are shown in Fig. 5.
Figure 5:
The structure of two CVS repositories, one for run 1 and one
for run 2.
|
|
Like CMS groups, CVS collects files together into modules, and allows
operations on entire modules. For example, the jet library would be a
module. Like a CMS class, CVS
allows a collection of specific file versions to have a name, called a
tag. CVS labels each file with version
numbers, and allows branches and merging as depicted in Fig. 6.
Figure 6:
The versions of a particular file along the main trunk of the revision,
1.1, 1.2, 1.3, 1.4 and 1.5 are shown, along with a branch called
fixjet,
that consists of modifying revision 1.2 into 1.2.2.1 and 1.2.2.2. The
branch was merged back into the main trunk after revision 1.4 was complete,
giving revision 1.5.
|
|
As its name indicates, CVS encourages concurrent revision by multiple
developers in parallel, unlike CMS which is designed for linear revision of
reserved files. A script has been written to allow the command
reserve in CVS if desired.
Next: Basic CVS Commands: A
Up: Appendix on Version Control
Previous: Appendix on Version Control
  Contents
Margaret Votava
2001-02-12