Intro administrative files -- CVS---Concurrent Versions System



Prev: User modules Up: Repository Top: Top

4.2. The administrative files

The directory $CVSROOT/CVSROOT contains some administrative files. See Administrative files, for a complete description. You can use cvs without any of these files, but some commands work better when at least the modules file is properly set up.

The most important of these files is the modules file. It defines all modules in the repository. This is a sample modules file.

CVSROOT         -i mkmodules CVSROOT

modules -i mkmodules CVSROOT modules

cvs gnu/cvs

rcs gnu/rcs

diff gnu/diff

tc yoyodyne/tc

The modules file is line oriented. In its simplest form each line contains the name of the module, whitespace, and the directory where the module resides. The directory is a path relative to $CVSROOT. The last for lines in the example above are examples of such lines.

Each module definition can contain options. The `-i mkmodules' is an example of an option. It arranges for cvs to run the mkmodules program whenever any file in the module CVSROOT is committed. That program is responsible for checking out read-only copies from the rcs history files of all the administrative files. These read-only copies are used internally by cvs. You should never edit them directly.

The line that defines the module called `modules' uses features that are not explained here. See modules, for a full explanation of all the available features.

4.2.1. Editing administrative files

You edit the administrative files in the same way that you would edit any other module. Use `cvs checkout CVSROOT' to get a working copy, edit it, and commit your changes in the normal way.

It is possible to commit an erroneous administrative file. You can often fix the error and check in a new revision, but sometimes a particularly bad error in the administrative file makes it impossible to commit new revisions.


Prev: User modules Up: Repository Top: Top