GNU Info

Info Node: (cvsbook.info)modules

(cvsbook.info)modules


Next: notify Prev: loginfo Up: Repository Administrative Files
Enter node , (file) or (file)node

modules
-------

This maps names to repository directories.  The general syntax of each
line is:

     MODULE [OPTIONS] [&OTHERMODULE...] [DIR] [FILES]

DIR need not be a top-level project directory - it could be a
subdirectory.  If any FILES are specified, the module consists of only
those files from the directory.

An ampersand followed by a module name means to include the expansion of
that module's line in place.

Options:

   * -a - This is an "alias" module, meaning it expands literally to
     everything after the OPTIONS.  In this case, the usual DIR/FILES
     behavior is turned off, and everything after the OPTIONS is
     treated as other modules or repository directories.

     If you use the -a option, you may exclude certain directories from
     other modules by putting them after an exclamation point (!).  For
     example

          top_proj -a !myproj/a-subdir !myproj/b-subdir myproj

     means that checking out `top_proj' will get all of `myproj' except
     `a-subdir' and `b-subdir'.

   * -d NAME - Names the working directory NAME instead of the module
     name.

   * -e PROGRAM - Runs PROGRAM whenever files in this module are
     exported.

   * -i PROGRAM - Runs PROGRAM whenever files in this module are
     committed.  The program is given a single argument - the full
     pathname in the repository of the file in question. (See Note:
     commitinfo, Note: loginfo, and Note: verifymsg for more
     sophisticated ways to run commit-triggered programs.)

   * -o PROGRAM - Runs PROGRAM whenever files in this module are checked
     out.  The program is given a single argument, the name of the
     module.

   * -s STATUS - Declares a status for the module.  When the modules
     file is printed (with cvs checkout -s), the modules are sorted by
     module status and then by name.  This option has no other effects
     in CVS, so go wild.  You can use it to sort anything - status,
     person responsible for the module, or the module's file language,
     for example.

   * -t PROGRAM - Runs PROGRAM whenever files in this module are tagged
     with cvs rtag.  The program is passed two arguments: the name of
     the module and the tag name.  The program is not used for tag,
     only for rtag.  I have no idea why this distinction is made.  You
     may find the taginfo file more useful if you want to run programs
     at tag time.

   * -u PROGRAM - Runs PROGRAM whenever a working copy of the module is
     updated from its top-level directory.  The program is given a
     single argument, the full path to the module's repository.



automatically generated by info2www version 1.2.2.9