- publishing free software manuals
Version Management with CVS - the CVS manual
by Per Cederqvist et al.
Paperback (6"x9"), 216 pages, 8 figures
ISBN 0954161718
RRP £19.95 ($29.95)

Get a printed copy>>>

16.7 The administrative files

The directory ‘$CVSROOT/CVSROOT’ contains some administrative files. See section B Reference manual for 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         CVSROOT
modules         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 four lines in the example above are examples of such lines.

The line that defines the module called ‘modules’ uses features that are not explained here. See section B.1 The modules file, for a full explanation of all the available features.

16.7.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. If and when this happens, you can correct the problem by temporarily copying a corrected administrative file directly into the $CVSROOT/CVSROOT repository directory, then committing the same correction via a checkout of the ‘CVSROOT’ module. It is important that the correction also be made via the checked out copy, or the next checkout and commit to the ‘CVSROOT’ module will overwrite the correction that was copied directly into the repository, possibly breaking things in such a way as to prevent commits again.

ISBN 0954161718Version Management with CVS - the CVS manualSee the print edition