Previous: , Up: Repository storage   [Contents][Index]

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 (see checkoutlist).

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.

Previous: , Up: Repository storage   [Contents][Index]