Go to the previous, next section.
The `modules' file records your definitions of names for collections of source code. CVS will use these definitions if you create a file with the right format in `$CVSROOT/CVSROOT/modules,v'. The mkmodules(1) command should be run whenever the modules file changes, so that the appropriate files can be generated (depending on how you have configured CVS operation).
To allow convenient editing of the `modules' file itself, the file should include an entry like the following (where localbin represents the directory where your site installs programs like mkmodules(1)):
modules -i /localbin/mkmodules CVSROOT modules
This defines the name `modules' as the module name for the file itself, so that you can use
$ cvs checkout modules
to get a copy of the file that you can edit. You should define similar module entries for the other configuration files described in this appendix, except `history').
The `modules' file may contain blank lines and comments (lines beginning with `#') as well as module definitions. Long lines can be continued on the next line by specifying a backslash (`\') as the last character on the line.
A module definition is a single line of the `modules' file, in either of two formats. In both cases, mname represents the symbolic module name, and the remainder of the line is its definition.
mname -a aliases...
checkout
creates all intermediate directories in the working
directory, just as if the path had been specified
explicitly in the CVS arguments.
mname [ options ] dir [ files... ] [ &module... ]
$CVSROOT
) to a
directory of source in the source repository. In this
case, on checkout, a single directory called
mname is created as a working directory; no
intermediate directory levels are used by default, even
if dir was a path involving several directory
levels.
By explicitly specifying files in the module definition after dir, you can select particular files from directory dir. The sample definition for `modules' is an example of a module defined with a single file from a particular directory. Here is another example:
m4test unsupported/gnu/m4 foreach.m4 forloop.m4
With this definition, executing `cvs checkout m4test' will create a single working directory `m4test' containing the two files listed, which both come from a common directory several levels deep in the CVS source repository.
A module definition can refer to other modules by
including `&module' in its definition.
checkout
creates a subdirectory for each such
module, in your working directory.
-d name
-i prog
-o prog
-s status
-t prog
rtag
. prog runs
with two arguments: the module name and the symbolic
tag specified to rtag
. There is no way to
specify a program to run when tag
is executed.
-u prog
Go to the previous, next section.