| # Three different line formats are valid: |
| # key -a aliases... |
| # key [options] directory |
| # key [options] directory files... |
| # |
| # Where "options" are composed of: |
| # -i prog Run "prog" on "cvs commit" from top-level of module. |
| # -o prog Run "prog" on "cvs checkout" of module. |
| # -e prog Run "prog" on "cvs export" of module. |
| # -t prog Run "prog" on "cvs rtag" of module. |
| # -u prog Run "prog" on "cvs update" of module. |
| # -d dir Place module in directory "dir" instead of module name. |
| # -l Top-level directory only -- do not recurse. |
| # |
| # NOTE: If you change any of the "Run" options above, you'll have to |
| # release and re-checkout any working directories of these modules. |
| # |
| # And "directory" is a path to a directory relative to $CVSROOT. |
| # |
| # The "-a" option specifies an alias. An alias is interpreted as if |
| # everything on the right of the "-a" had been typed on the command line. |
| # |
| # You can encode a module within a module by using the special '&' |
| # character to interpose another module into the current module. This |
| # can be useful for creating a module that consists of many directories |
| # spread out over the entire source repository. |
| |
| # Block access to CVS hogs |
| #world -a denied___checkout_of_world_takes_too_long |
| #. -a denied___checkout_of_world_takes_too_long |
| |
| # self referencing modules |
| project1 project1 |
| |
| # checkout docs in flattened structure |
| docs -d docs common/docs |
| macros common/macros |
| |
| # include docs with project |
| project2 project2 &docs |
| # only project2 |
| project2-only project2 |
| |
| # a use of alias |
| project3-src project3/src |
| project3-src_file -a project3-src/file.c project3-src/file.h |
| project3-sub project3/sub &project3-src_file |
| |
| # embeddings |
| project4 project4 ¯os |
| project5-project4 -d extensions/project4 project4 |
| project5 project5 &project5-project4 ¯os |
| |
| # using -d to build a project from other projects |
| project6-dirA -d dirA project6/A |
| project6-dirB -d dirB project6/B |
| project6 &project6-dirA &project6-dirB |
| |
| # using aliases to provide packaging |
| project7-common -a project7/common |
| project7-pc -a project7-common project7/pc |
| project7-linux -a project7-common project7/linux |
| |
| # simple use of module alias |
| project8-alias -a project8 common |