2.2.1 Where files are stored within the repository
The overall structure of the repository is a directory
tree corresponding to the directories in the working
directory. For example, supposing the repository is in
here is a possible directory tree (showing only the
directories):
| /usr
|
+--local
| |
| +--cvsroot
| | |
| | +--CVSROOT
| (administrative files)
|
+--gnu
| |
| +--diff
| | (source code to GNU diff)
| |
| +--rcs
| | (source code to RCS)
| |
| +--cvs
| (source code to CVS)
|
+--yoyodyne
|
+--tc
| |
| +--man
| |
| +--testing
|
+--(other Yoyodyne software)
|
With the directories are history files for each file
under version control. The name of the history file is
the name of the corresponding file with `,v'
appended to the end. Here is what the repository for
the `yoyodyne/tc' directory might look like:
| $CVSROOT
|
+--yoyodyne
| |
| +--tc
| | |
+--Makefile,v
+--backend.c,v
+--driver.c,v
+--frontend.c,v
+--parser.c,v
+--man
| |
| +--tc.1,v
|
+--testing
|
+--testpgm.t,v
+--test2.t,v
|
The history files contain, among other things, enough
information to recreate any revision of the file, a log
of all commit messages and the user-name of the person
who committed the revision. The history files are
known as RCS files, because the first program to
store files in that format was a version control system
known as RCS. For a full
description of the file format, see the man
page
rcsfile(5), distributed with RCS, or the
file `doc/RCSFILES' in the CVS source
distribution. This
file format has become very common—many systems other
than CVS or RCS can at least import history
files in this format.
The RCS files used in CVS differ in a few
ways from the standard format. The biggest difference
is magic branches; for more information see Magic branch numbers. Also in CVS the valid tag names
are a subset of what RCS accepts; for CVS's
rules see Tags–Symbolic revisions.