2.2.7 How files are stored in the CVSROOT directory
The `$CVSROOT/CVSROOT' directory contains the
various administrative files. In some ways this
directory is just like any other directory in the
repository; it contains RCS files whose names end
in `,v', and many of the CVS commands operate
on it the same way. However, there are a few
differences.
For each administrative file, in addition to the
RCS file, there is also a checked out copy of the
file. For example, there is an RCS file
`loginfo,v' and a file `loginfo' which
contains the latest revision contained in
`loginfo,v'. When you check in an administrative
file, CVS should print
| cvs commit: Rebuilding administrative file database
|
and update the checked out copy in
`$CVSROOT/CVSROOT'. If it does not, there is
something wrong (see section Dealing with bugs in CVS or this manual). To add your own files
to the files to be updated in this fashion, you can add
them to the `checkoutlist' administrative file
(see section The checkoutlist file).
By default, the `modules' file behaves as
described above. If the modules file is very large,
storing it as a flat text file may make looking up
modules slow (I'm not sure whether this is as much of a
concern now as when CVS first evolved this
feature; I haven't seen benchmarks). Therefore, by
making appropriate edits to the CVS source code
one can store the modules file in a database which
implements the ndbm
interface, such as Berkeley
db or GDBM. If this option is in use, then the modules
database will be stored in the files `modules.db',
`modules.pag', and/or `modules.dir'.
For information on the meaning of the various
administrative files, see Reference manual for Administrative files.