ノード: General Troubleshooting Tips, 次: , 前: The Usual Suspects, 上: Tips And Troubleshooting



General Troubleshooting Tips

この章は問いと答えをつなげていく形式になっています。インターネットの FAQ (Frequently Asked Questions; よくある質問集) と同じような感じで す。すべて、実際に CVS を使用した経験に基づいたものです。個別の例を 見ていく前に、もう少し一般的な観点から CVS のトラブルシューティング について見ておきましょう。

通常、CVS で起きた問題を解決する最初のステップは、それが作業コピーの 問題なのか、それともリポジトリの問題なのかを見分けることです。これを 見分けるには(別に驚くような方法でもないのですが)、最初に問題の起こっ た作業コピーとは別の作業コピーで同じ問題が起こるかどうかを見ることで す。起こるようならリポジトリの問題で、そうでなければ多分局所的な問題 なのです。

作業コピーの問題のほうがよく起こりがちです。それは作業コピーがリポジ トリに比べてなにか信頼性が落ちるからとかではなくて、各リポジトリに対 して作業コピーはたくさんあるからです。作業コピーのもつれをほどくのが イヤになったら、その作業コピーを消してしまって新しいやつをチェックア ウトするほうが時間の無駄にならずに済む場合もあると思います。

もう一度チェックアウトするのにすごく時間がかかるとか、作業コピーにな くしたくない未コミットの変更があったり、またはなんでうまくいかないの かをただ知りたい場合でも、問題の原因を探る価値はあります。探り始める 時に最初にみるべきところの1つは CVS/ サブディレクトリです。その中の ファイルの内容とパーミッションをチェックして下さい。たまにですが、リー ドオンリーになっていたり、または読むことさえできなくなっていたりしま す。(これについては、CVS が間違えたというよりもむしろユーザが Unix コマンドをミスタイプしたことが原因ではないかと筆者は疑っています)

リポジトリの問題はたいていの場合、ファイルやディレクトリのパーミッション が間違っていることが原因です。リポジトリのパーミッションが原因だと思っ たら、まずトラブルのあった人の実効リポジトリユーザIDを確認して下さい。 ローカルユーザ全て及び大部分のリモートユーザに関しては、これは通常の ユーザ名か、作業コピーをチェックアウトする時に指定したユーザ名です。 pserver メソッドのユーザエイリアシング( Repository AdministrationAnonymous Access を参照のこ と)を使っている場合には、実効ユーザIDは CVSROOT/passwd ファイルの右 側に書いてあるものになります。早い時期にこれを見つけておかないと、間 違ったところをデバッグすることになってしまい、時間を無駄にしてしまう ことがあります。

さてさて、くだらないことをいうのはこれくらいにして…