CVS の使用に問題があれば、この付録が役立つかもしれません。特定の エラーメッセージが出ているなら、そのメッセージをアルファベット順に探す ことができます。そうでない場合は、他の問題の章を眺めて説明されているか どうかを知ることができます。
これは CVS で起こるかもしれないエラー・メッセージの部分的な一覧で す。完全な一覧ではありません---CVS はたくさん、たくさんのエラー・ メッセージを印字する能力があり、しばしば一部分はオペレーティング・シス テムにより提供されます。しかし、ここでの意図はよくあるもの、混乱する可 能性のあるエラー・メッセージの、両方もしくはどちらかにあてはまるものの 一覧を挙げることです。
メッセージはアルファベット順ですが、`cvs update: ' のような前置き の文章は順番にするときには省かれています。
この一覧は古いバージョンの CVS で印字されるメッセージがある場合も あります (使用者は特定の時にどのバージョンの CVS を使用しているか を必ずしも知らないというのが理由の一つです)。
cvs command: authorization failed: server host rejected access
CVSROOT
が
`inetd.conf' の `--allow-root' で使用可になっているこを確認
してください。
file:line: Assertion 'text' failed
cvs command: conflict: removed file was modified by second party
cannot change permissions on temporary directory
Operation not permittedこのメッセージは、Red Hat Linux 3.0.3 と 4.1 でクライアント/サーバのテ スト一式を実行しているときいに、再現不可能な方法でときどき発生しました。 我々は何がそれを起こしたのか、また linux (もしくは、このマシンそのもの!) に特有かどうかも分かりません。他の unix でも問題が発生した場合は、おそ らく `Operation not permitted' は `Not owner' や当のシステム が unix の
EPERM
エラーで使用している他のものになっているでしょ
う。追加の情報があれば、section CVS かこのマニュアルのバグに対処する で説明されているように我々に知らせ
てください。もし CVS を使用していてこのエラーを経験したときは、そ
れを発生させた操作をもう一度繰り返すとちゃんと動作するでしょう。
cvs [server aborted]: Cannot check out files into the repository itself
TMPDIR
を
参照してください。
cannot open CVS/Entries for reading: No such file or directory
cvs [init aborted]: cannot open CVS/Root: No such file or directory
cvs [checkout aborted]: cannot rename file file to CVS/,,file: Invalid argument
cvs [command aborted]: cannot start server via rcmd
:local:
を指定することを忘れたのでしょう。
ci: file,v: bad diff output line: Binary files - and /tmp/T2a22651 differ
cvs checkout: could not check out file
co
プログラム (RCS プログラムの一部で
す) が失敗の値を返したということです。他のエラーメッセージがその前にあ
るはずですが、別のエラーメッセージなしに発生することも確認されており、
原因はよくわかっていません。現在のバージョンの CVS は co
を実行
しないので、このメッセージが別のエラーメッセージとともに現れなければ、
それは間違いなく CVS のバグです (see section CVS かこのマニュアルのバグに対処する)。
cvs [update aborted]: unexpected EOF reading file,v
cvs [login aborted]: could not find out home directory
HOME
, HOMEDRIVE
, HOMEPATH
の議論を参照してくださ
い。
cvs update: could not merge revision rev of file: No such file or directory
rcsmerge
プログラムを見つけるときに問題が発生し
たときにこのメッセージを印字します。それが PATH
にあることを確
認するか、外部 rcsmerge
プログラムを必要としない現在のバージョ
ンの CVS に更新してください。
cvs [update aborted]: could not patch file: No such file or directory
patch
プログラムの探索に問題があったということです。それ
が PATH
上にあるとを確認してください。メッセージの外観とは違っ
て、file を見つけるかどうかについて言っているのではないこ
とに注意してください。クライアントとサーバが現在のバージョンの
CVS を実行しているなら、外部 patch プログラムは必要ではなく、この
メッセージを見ることはないでしょう。しかし、クライアントかサーバが
CVS 1.9 を実行していれば、patch
が必要です。
cvs update: could not patch file; will refetch
dying gasps from server unexpected
end of file from server (consult above messages if any)
rsh
プログラムを使用してい
て、それがエラーを出して終了するというものです。この場合 rsh
プログラムは、上のメッセージの前にメッセージを印字しているはずです。
CVS のクライアントとサーバの設定の情報は section 別のマシンのリポジトリ を参照してください。
cvs commit: Executing 'mkmodules'
cvs commit: Rebuilding administrative file database両方のメッセージが表示されれば、データベースは2回再構築されていて、こ れは不必要ですが、無害です。重複を避けたくて、CVS 1.7 以前を使っ ていないなら、
modules
ファイルにある全ての -i mkmodules
を消してください。modules
ファイルの情報は section The modules file を参照
してください。
missing author
*PANIC* administration files missing
rcs error: Unknown option: -x,v/
cvs [server aborted]: received broken pipe signal
Too many arguments!
cvs [login aborted]: unrecognized auth response from server
cvs commit: Up-to-date check failed for `file'
cvs update
を実行した後に誰かが変更を格納
したということです。ですから、cvs commit
を継続する前に
cvs update
をする必要があります。CVS はあなたのした変更と他の人
がした変更をマージします。衝突が発見されなれば、`M cacErrCodes.h'
のように報告され、cvs commit
を実行する準備が整っています。もし
衝突が発見されれば、その由を印字し、`C cacErrCodes.h' と報告され、
手で衝突を解消する必要があります。この過程の詳細は section 衝突の例 を参照してください。
Usage: diff3 [-exEX3 [-i | -m] [-L label1 -L label3]] file1 file2 file3
Only one of [exEX3] allowedこれは
diff3
と rcsmerge
のインストールに問題があること
を示しています。特に rcsmerge
は GNU diff3 を探すようにコンパイ
ルされているけれど、代わりに unix の diff3 が使われています。一番簡単
な解決法は外部の rcsmerge
や diff3
プログラムに頼らない
現在のバージョンの CVS に更新することです。
warning: unrecognized response `text' from cvs server
cvs commit: [time] waiting for user's lock in directory
cvs commit: warning: editor session failed
CVSEDITOR
を以下のよう
な小さなスクリプトを指すようにしてください:
#!/bin/sh vi $* exit 0
この章は CVS サーバに接続しようとしたときに問題が起こったときに何 をすれば良いかということを書いています。 Windows で CVS コマンド ライン・クライアントを実行しているなら、まず CVS 1.9.12 以降に更 新してください。以前のバージョンのエラー報告は、問題がどうであったかに ついて、ほとんど情報を提供しません。クライアントが Windows でなければ、 CVS 1.9 は問題ありません。
問題を追いかけるためにエラー・メッセージが十分でなければ、次の手段は使 用している接続方法によってかなり異なります。
:ext:
:server:
:pserver:
cvs [pserver aborted]: bad auth protocol start: fooこれの動作に失敗すれば、inetd が正しく動作しているか確認してください。 `inetd.conf' での起動を cvs の代わりに echo プログラムに変更して ください。例えば:
2401 stream tcp nowait root /bin/echo echo helloその変更をして、inetd に設定ファイルを再読み込みするように指示した後で は、"telnet servername 2401" はテキスト hello を表示して、サーバが接続 を切るはずです。これが動作しなければ、CVS の問題を気にする前にそ れを修正してください。 AIX システムでは、システムにポート 2401 を使おうとするプログラムがあり ます。これは、ポート 2401 は CVS での使用に登録されているという点 で AIX の問題です。この問題を解決するために AIX のパッチがあるというこ とを聞いたことがあります。 他の良いデバッグツールは inetd に `-d' (debugging) オプションを付 けることです。詳しい情報はシステムの説明文書を調べてください。 接続はできているようですが、次のようなエラーが出る場合は:
cvs server: cannot open /root/.cvsignore: Permission denied cvs [server aborted]: can't chdir(/root): Permission denied`inetd.conf' で `-f' を指定しなかったか、inetd により実行さ れているプログラムの
HOME
環境変数をシステムが設定しているとい
うことです。後者の場合は、 inetd に HOME
を未設定にして
CVS を実行するシェルスクリプトを実行させるようにするか、CVS
を純粋な環境で実行するために env
を使うことができます。
これは上の分類には合わない問題の一覧です。順番には特に意味はありません。
HOMEDRIVE
と
HOMEPATH
参照)。 CVS はホームディレクトリがスラッシュで終わらな
いことを期待しています。例えば、`C:' や `C:\cvcs' です。
cvs update
が衝突を発見し、マージを試みたけれど、
衝突があることを報告しなかったら、RCS の古いバージョンが存在しま
す。一番簡単な解決は、おそらく外部 RCS プログラムを使用しない現在
のバージョンの CVS に変更することです。
Go to the first, previous, next, last section, table of contents.