Next: , Previous: Branching and merging, Up: Top


6 再帰的動作

ほとんど全ての cvs のコマンドは、 ディレクトリを引数に取ったときに再帰的に動作します。 例えば、次のディレクトリ構造を考えます。

           $HOME
             |
             +--tc
             |   |
                 +--CVS
                 |      (内部 cvs ファイル)
                 +--Makefile
                 +--backend.c
                 +--driver.c
                 +--frontend.c
                 +--parser.c
                 +--man
                 |    |
                 |    +--CVS
                 |    |  (内部 cvs ファイル)
                 |    +--tc.1
                 |
                 +--testing
                      |
                      +--CVS
                      |  (内部 cvs ファイル)
                      +--testpgm.t
                      +--test2.t

現在のディレクトリが ‘tc’ であれば、 以下が成立します:

引数を付けない update コマンドは現在の作業ディレクトリと全ての サブディレクトリを更新します。言い替えると、.update の既定引数です。これは update コマンドだけではなく、たいていの cvs のコマンドにも当てはまります。

-l’ オプションを付けることによって、 cvs の再帰的な動作を抑止することができます。 逆に、‘-R’ オプションは ~/.cvsrc で ‘-l’ が指定されて いるときに再帰的動作を強制するために使うことができます (see ~/.cvsrc)。

     $ cvs update -l         # サブディレクトリのファイルは更新しない。