最初, 戻る, 進む, 最後, 目次 に行く。


6.5 同時に CVS の実行を試みる複数の開発者

複数の開発者が同時に 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 のロックについては、 独占取得についての記述を参照して下さい (「6 複数の開発者」参照)。

任意のリポジトリから何人でも、 同時に読み出すことが可能です。 誰かが書き込み中の場合にだけ、 他の人の読み出しや書き込みが禁止されます。

次に示すような動作を望む人がいるでしょう

ある人物が一つの 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 を実行した場合、 `b/three.c' の変更点のみが更新され、 `a/two.c' の変更点は更新されないでしょう。


最初, 戻る, 進む, 最後, 目次 に行く。