next up previous
Next: Other Sources of CVS-Related Up: Simple Project Management Using Previous: Using RCS Keywords

Defining Project Modules

Since CVS was designed to manage multiple projects based in the same repository, it also has a mechanism by which individual projects may be defined as ``modules'', in order to manage the proliferation of subdirectories within the repository. To define the modules, you need to use the ``cvs checkout'' function to get a ``working copy'' of the $CVSROOT/CVSROOT/modules file:

cvs checkout CVSROOT/modules
cd CVSROOT

Now you can edit the modules file to contain the specification for any number of modules within the repository, where the first field corresponds to the module name and the second field is the directory path of the source code for that module, relative to $CVSROOT (the DESTDIR of previous cvs import invocations):

234_tree     234_tree
tannenbaum   cpsc310/tannenbaum
class_proj   cpsc426/class_proj

Module definitions can be far more flexible and complex than this; see the CVS manual for more info.

When you are finished editing the modules file, use the ``cvs commit'' function to integrate your changes back into the repository, and the ``release -d'' function to delete the working directory:

cvs commit -m ``Updated modules file'' modules
cd ..
cvs release -d CVSROOT



Michael S. Bland
2000-11-22