次: Watches, 前: Informing others, 上: Multiple developers
複数の開発者が同時に cvs を実行しようとした場合、 次のようなメッセージが表示されます:
[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
cvs は 30秒毎に実行を試み、 まだ待つ必要があれば再度メッセージを表示し、 そうでなければ処理を続けます。 不適当な程長く待ち続けているようならば、 ロックさせている人物を見付けて、 実行中の cvs コマンドを訊いてみて下さい。 cvs コマンドが実行されてないのならば、メッセージで書かれているリポジト リディレクトリを見て、彼等が所有している #cvs.tfl, #cvs.rfl, #cvs.wfl という名前で始まるファイルを捜して、削除して下さい。
このロックは cvs の内部データ構造を保護するもので、 rcs で使用されるロック (lock) という言葉とは全く何の関係もないことに注意してください。 rcs のロックについては、 独占取得についての記述を参照して下さい (see Multiple developers)。
任意のリポジトリから何人でも、 同時に読み出すことが可能です。 誰かが書き込み中の場合にだけ、 他の人の読み出しや書き込みが禁止されます。
ある人物が一つの cvs コマンドで複数のファイルに対する変更点を 格納した時、他の誰かが同時に update を実行すると、全てのファイルが 更新されるか、全く更新されないかのどちらかである。
が、cvs はこのように動作しません。 例えば以下のファイルがあるとして、
a/one.c a/two.c b/three.c b/four.c
ある人物が次のコマンドを実行した時、
cvs ci a/two.c b/three.c
同時に他の誰かが cvs update
を実行した場合、
update
を実行している人は b/three.c の変更点のみが更新さ
れ、
a/two.c の変更点は更新されないでしょう。