CVS---Concurrent Versions System. Node: CVSROOT storage

PREVLocks UPRepository storage next

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 BUGS). To add your own files to the files to be updated in this fashion, you can add them to the `checkoutlist' administrative 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 Administrative files.

PREVLocks UPRepository storage next