下一个: , 上一个: Branching and merging, 上层: Top


6 递归行为

如果你指定一个目录作为参数,几乎所有的 cvs 子命令都会在该目录中递归地执行。 例如,考虑这个目录结构:

           $HOME
             |
             +--tc
             |   |
                 +--CVS
                 |      (internal cvs files)
                 +--Makefile
                 +--backend.c
                 +--driver.c
                 +--frontend.c
                 +--parser.c
                 +--man
                 |    |
                 |    +--CVS
                 |    |  (internal cvs files)
                 |    +--tc.1
                 |
                 +--testing
                      |
                      +--CVS
                      |  (internal cvs files)
                      +--testpgm.t
                      +--test2.t

如果 tc 是当前工作目录,则以下操作为真:

如果不给 update 命令赋参数,它会更新当前工作目录中的所有文件和所有子目录。 换句话说,.update 命令的默认参数。 这点对其它 cvs 子命令也适用,不仅仅是 update 命令。

使用选项 `-l' 可以关闭 cvs 子命令的递归行为。 相反地,如果在 ~/.cvsrc (参阅 ~/.cvsrc)中指定 `-l' 选项,可以使用 `-R' 选项来强制递归。

     $ cvs update -l         # Don't update files in subdirectories