Previous: Variables, Up: Administrative files



C.11 The CVSROOT/config configuration file

The administrative file config contains various miscellaneous settings which affect the behavior of cvs. The syntax is slightly different from the other administrative files. Variables are not expanded. Lines which start with # are considered comments. Other lines consist of a keyword, =, and a value. Note that this syntax is very strict. Extraneous spaces or tabs are not permitted.

Currently defined keywords are:

RCSBIN=bindir
For cvs 1.9.12 through 1.9.18, this setting told cvs to look for rcs programs in the bindir directory. Current versions of cvs do not run rcs programs; for compatibility this setting is accepted, but it does nothing.


SystemAuth=value
If value is yes, then pserver should check for users in the system's user database if not found in CVSROOT/passwd. If it is no, then all pserver users must exist in CVSROOT/passwd. The default is yes. For more on pserver, see Password authenticated.


TopLevelAdmin=value
Modify the checkout command to create a CVS directory at the top level of the new working directory, in addition to CVS directories created within checked-out directories. The default value is no.

This option is useful if you find yourself performing many commands at the top level of your working directory, rather than in one of the checked out subdirectories. The CVS directory created there will mean you don't have to specify CVSROOT for each command. It also provides a place for the CVS/Template file (see Working directory storage).


LockDir=directory
Put cvs lock files in directory rather than directly in the repository. This is useful if you want to let users read from the repository while giving them write access only to directory, not to the repository. It can also be used to put the locks on a very fast in-memory file system to speed up locking and unlocking the repository. You need to create directory, but cvs will create subdirectories of directory as it needs them. For information on cvs locks, see Concurrency.

Before enabling the LockDir option, make sure that you have tracked down and removed any copies of cvs 1.9 or older. Such versions neither support LockDir, nor will give an error indicating that they don't support it. The result, if this is allowed to happen, is that some cvs users will put the locks one place, and others will put them another place, and therefore the repository could become corrupted. cvs 1.10 does not support LockDir but it will print a warning if run on a repository with LockDir enabled.


LogHistory=value
Control what is logged to the CVSROOT/history file (see history). Default of TOEFWUPCGMAR (or simply all) will log all transactions. Any subset of the default is legal. (For example, to only log transactions that modify the *,v files, use LogHistory=TMAR.)


RereadLogAfterVerify=value
Modify the commit command such that CVS will reread the log message after running the program specified by verifymsg. value may be one of yes or always, indicating that the log message should always be reread; no or never, indicating that it should never be reread; or value may be stat, indicating that the file should be checked with the file system stat() function to see if it has changed (see warning below) before rereading. The default value is always.

Note: the `stat' mode can cause CVS to pause for up to one extra second per directory committed. This can be less IO and CPU intensive but is not recommended for use with large repositories

See verifymsg, for more information on how verifymsg may be used.