ノード: CVS says it is waiting for a lock; what does that mean?, 次: CVS claims a file is failing Up-To-Date check; what do I do?, 上: Some Real Life Problems (With Solutions)
CVS が「ロック待ち中」って言うんですが、どういう意味?
このようなメッセージを見たら
cvs update: [22:58:26] waiting for qsmith's lock in /usr/local/newrepos/myproj
これは、その時点でほかの CVS プロセスにロックされているリポジトリ中 のサブディレクトリをアクセスしようとしている、という意味です。そのディ レクトリ内でプロセスが実行中なので、他の CVS プロセスが使うには一貫 性のない状態になっているかもよ、ということです。
しかし、そのメッセージが長い間出ているようなら、何らかの理由で CVS プロセスが後始末しないで失敗に終わってしまったことを示します。CVS が 突然、予期しないでお亡くなりになった時、たとえばリポジトリのあるマシン の電源が落ちたとか、そういう時に起こり得ます。
解決法は、問題のリポジトリサブディレクトリから、手でロックファイルを
取り除くことです。リポジトリの該当部分に移って、#cvs.lock
と
いう名前か、#cvs.wfl
か #cvs.rfl
で始まる名前のファイ
ルを探してください。ファイルのタイムスタンプを今実行中の CVS プロセ
スの起動時刻と比較してください。ファイルがそれらのプロセスに生成され
たのでないようならば、それを削除しても安全です。待機中の CVS プロセ
スはロックファイルがなくなったと告げて(30秒ほどかかります)、要求され
たオペレーションを続行できるようになります。
詳しくは Cederqvist マニュアルの Locks ノードを参照してくださ い。