modules
このファイルでは、リポジトリのディレクトリに名前をマッピングします。各
行の書式は次の通りです:
MODULE [OPTIONS] [&OTHERMODULE...] [DIR] [FILES]
DIR はトップレベルプロジェクトディレクトリである必要はなく、サブディレ
クトリでも構いません。FILES を指定した場合、そのモジュールはそのディレ
クトリの指定したファイルだけから構成されることになります。
モジュール名の先頭にアンパサンド(&)をつけると、その位置にそのモジュー
ルを展開して指定するのと同じ意味になります。
Options:
- -a - 別名(alias)モジュール。OPTIONS 以降すべてを文字どおりに展
開します。この場合、普通に DIR/FILES を指定した場合の動作は実行されず、
OPTIONS 以降に指定したものはすべて他のモジュールまたはリポジトリディレ
クトリとして解釈されます。
-a オプションを使う場合、ディレクトリ名の先頭にエクスクラメーションマ
ーク(!)をつけて指定するとそのディレクトリを対象外にすることができます。
たとえば、
top_proj -a !myproj/a-subdir !myproj/b-subdir myproj
と指定した場合に top_proj
をチェックアウトすると、
a-subdir
, b-subdir
を除いた myproj
全体を取得す
ることになります。
- -d NAME - 作業コピーのディレクトリ名を、モジュール名ではなく NAME に
します。
- -e PROGRAM - そのモジュール中のファイルを export する時に PROGRAM を
実行します。
- -i PROGRAM - このモジュール中のファイルを commit する時に PROGRAM を
実行します。プログラムに渡される引数は1つだけで、対象のファイルのリポ
ジトリ中のパスが渡されます(コミットをトリガにプログラムを実行したい場
合、commitinfo, loginfo, verifymsg にもう少し洗練さ
れた方法があります)。
- -o PROGRAM - そのモジュール中のファイルを checkout する時に PROGRAM
を実行します。プログラムには引数としてモジュール名が渡されます。
- -s STATUS - そのモジュールの状態を宣言します。modules ファイルを cvs
checkout -s で表示する際、モジュールはまず状態、次に名前でソートされま
す。このオプションを指定してもこれ以外の影響はありません。(This option
has no other effects in CVS, so go wild.) これを使っていろいろとソート
できます。たとえば状態、そのモジュールの担当者、モジュールファイルの言
語など。
- -t PROGRAM - このモジュール中のファイルに cvs rtag でタグ付けする時に
PROGRAM を実行します。プログラムに渡される引数は、モジュール名とタグ名
の2つです。このプログラムは tag では起動されず、rtag でだけ起動されま
す。何故こういう違いがあるか、筆者にはわかりません。tag をトリガに
プログラムを起動したければ、taginfo ファイルが役に立つと思います。
ジトリ中のパスが渡されます
- -u PROGRAM - このモジュールの作業コピーをトップレベルディレクトリにて
update する時に PROGRAM を実行します。プログラムに渡される引数はモジュ
ールのリポジトリのフルパス1つだけです。