次: , 前: editinfo, 上: Administrative files


C.7 管理用ファイル loginfo

loginfo を用いて、 `cvs commit' によるログ情報の送り先を管理します。 各行の第一項には正規表現が記述され、 行の残りの部分はフィルタでなくてはいけません。 変更を加えたディレクトリを $CVSROOT からの相対パスで表わしたものと、 各行の正規表現が合致するかどうか試されます。 合致した場合は、 その行の残りの部分であるフィルタ・プログラムの標準入力に、 ログ情報を与えます。

第一項が `DEFAULT' である行の記述は、リポジトリ名が ファイル中のどの正規表現にも合致しない場合に適用されます。

第一項が `ALL' である行全てが、 最初に合致した正規表現または `DEFAULT' に加えて適用されます。

正規表現が合致する最初の行が実行されます。

ファイル loginfo の構文についての記述は See commit files.

使用者はフィルタの一部としてフォーマット文字列を指定できます。文字列は `%' の後に空白か、単独のフォーマット文字、もしくは分離器 `{' と `}' に囲まれたいくつかのフォーマット文字が続いた物 です。フォーマット文字は:

s
ファイル名
V
古いバージョン番号 (格納前)
v
新しいバージョン番号 (格納後)

フォーマット文字列に現れた他の全ての文字は空のフィールドに展開されます (フィールドを分離するコンマはまだ提供されされています。)

例えば、有効なフォーマット文字列は `%', `%s', `%{s}', `%{sVv}' などです。

出力は空白で区切られた語からなる文字列になります。下位互換のために、最 初の語はリポジトリのサブディレクトリになります。残りの語はフォーマット 文字列で要求された情報をコンマで分けたリストです。例えば、 `/u/src/master/yoyodyne/tc' がリポジトリで `%{sVv}' がフォー マット文字列、3つのファイル(ChangeLog, Makefile, foo.c) が 修正されていると、出力は:

     yoyodyne/tc ChangeLog,1.1,1.2 Makefile,1.3,1.4 foo.c,1.12,1.13

別の例として、`%{}' ではリポジトリ名のみが作成されます。

注意: cvs が別のマシンのリポジトリを利用している場合、 loginfo はクライアント側ではなく、別のマシン (サーバ) 側で実行されます (see Remote repositories)。