The tools described in this section are too unique to be categorized easily. However, they are very useful. They range from a tool to clear out old data from the history file, to a tool to mount the repository as a filesystem.
This script removes most of the old records from the history file in the CVSROOT directory in the repository. It keeps records of file modification, addition, and removal, keeps the last change to each tag, and removes everything else. This effectively compresses the history file by removing most of the outdated data.
cln_hist is available from the contrib directory in the CVS source code.
This script implements access-control lists within CVS. It must be the only script in the commitinfo file in the CVSROOT directory and should be set as DEFAULT so it is called by all files. The script permits access control based on the username, project directories, and branches within the projects.
cvs_acls is available from the contrib directory in the CVS source code.
CVSCheck provides status information for files in the current sandbox. Its output is more concise than the output of cvs status or cvs log , so it's a handy tool for checking status in large sandbox directories.
CVSCheck is available from the contrib directory in the CVS source code.
CVSFS is a tool for mounting a CVS repository as a filesystem. It works only with the pserver access method (as of CVS 1.1.9). By default, it displays the current ( HEAD ) revision of the trunk of any file. Its main use is reading a repository, and it can be useful as a build tool.
CVSFS is available from http:// sourceforge .net/projects/cvsfs/.
CVS2vendor allows you to add a vendor branch to a project you created without using cvs import to make a vendor branch. It moves the project to a new repository directory, but it preserves tags and change records. The branch revision of each file on the vendor branch is given the same timestamp as revision 1.1 of that file.
CVS2vendor is available from the contrib directory in the CVS source code.
The descend script is obsolete for use with most CVS commands, but it may be useful in obscure situations. It permits you to descend through a directory tree recursively, running an arbitrary command at each point.
descend is available from the contrib directory in the CVS source code.
rcslock is described in Chapter 5. It enables you to lock files so that only the developer who holds the file lock can commit a file. This is especially useful when you have binary files or other files that cannot be merged.
rcslock is available from the contrib directory in the CVS source code.