次: , 前: Setting a watch, 上: Watches


10.6.2 誰に通知するか CVS に教える

あるファイルに対して種々の操作が行われた時に通知を受けたい場合には、 その旨を cvs に知らせます。 そのファイルに対して cvs watch on を用いなくても、 通知の要求は可能です。 しかし、開発者がコマンド cvs edit を用いるとは限らないため、 通常は cvs watch on を用いた方が良いでしょう。

— コマンド: cvs watch add [-a action] [-lR] files ...

現在の使用者を、 files に対して操作が行なわれた時に 通知を受けとる人の一覧に追加します。

オプション `-a' には、 通知して欲しい操作の種類を指定します。 action は次のうちのどれかです:

edit
あなた以外の人物が、 ファイルに対してコマンド cvs edit (後述) を適用した場合。
unedit
あなた以外の人物が、 ファイルに対してコマンド cvs unedit (後述) または cvs release を適用した場合。 また、ファイルが消されて cvs update により再度生成された場合。
commit
あなた以外の人物が、ファイルに対する変更を格納した場合。
all
上記全て。
none
上記以外。 (これは後述の cvs edit で使用すると便利です。)

オプション `-a' は何度指定しても良いし、 全く指定しなくても構いません。 省略した場合には、all が指定されたと解釈します。

files や引数指定時の振舞いは、 cvs watch on の場合と同じです。

— コマンド: cvs watch remove [-a action] [-lR] files ...

cvs watch add で設定した通知要求を取り下げます。 引数は同じです。 オプション `-a' を用いた場合、 指定された事項に対する通知のみを停止します。

通知すべき状態が発生した時、 cvs は管理用ファイル notify を見ます。 notify は他の管理用ファイルと同じように編集して下さい。 (see Intro administrative files)。 管理用ファイルの慣例に従って (see syntax)、このファイルの各行には、 正規表現に続けて実行したいコマンドを記述します。 コマンドの引数には、(通知すべき使用者に置換される) `%s' という文字列を一つだけ指定する必要があり、 通知内容はコマンドの標準入力に与えられます。 ファイル notify に書く標準のものは次の一行です:

     ALL mail %s -s \"CVS notification\"

この記述により、使用者に電子メールで通知が行なわれます。

上記の行をそのまま記述した場合、 使用者はサーバ上で通知を受ける事に注意して下さい。 他の場所に通知したい場合には、 もちろん notify に記述しても良いのですが、 cvs ではもっと簡単に各使用者の通知先を設定できます。 CVSROOTusers というファイルを作成し、 user:value という書式で、 各使用者について一行ずつ記述して下さい。 cvs は、notify に記述された user の代りに、 value (通常は別のマシンのメールアドレス) に通知します。

cvs はあなた自身の変更は通知しません。現時点では、この照合は通知 を発生させる動作をしている人の使用者名が通知を受ける人の使用者名と合う かどうかに基づいてなされています。実際のところ、一般的に、監視機構はそ れぞれの使用者の一つの編集だけを追跡します。おそらく、監視がそれぞれの 作業ディレクトリを別に追跡するとより便利なので、この振舞いは変更する 価値があるでしょう。