次のコマンドを使用して、CVSリポジトリをMercurialに変換しています。
cvs -d :pserver:<user>@<cvsroot> mymodule
hg convert mymodule
Ubuntu 12.04マシンでは、これが機能し、有効なMercurialリポジトリが生成されます。Fedora 17マシンでは、作業に時間がかかり、次のエラーで失敗します。
...
38000 <commit message>
37930 changeset entries
sorting...
converting...
37929 Initial Checkin.
cvs server: cvs checkout: cannot find module `mymodule/<cvsroot>/<some file>` - ignored
abort: unknown CVS response: error
編集:私は最初はこれを見落としていましたが、見つけることができないパスは少し面白いです。これは、モジュール名とそれに続くCVSROOTおよび実際のパスで構成されます。
両方のマシンに同一の.hgrcファイルがあり、両方ともCVS1.12.13を実行しています。<cvsroot>
関連すると思われる唯一の環境変数はCVSROOTです。これは両方のマシンで同じであり、上記のプレースホルダーと同じ値に設定されています。
エラーを生成するファイルは毎回同じですが、完全に正常なファイルです。他のファイルとの違いを特定することはできません。
明確にするために、私は単に作業マシンを使用できることを知っています。また、リポジトリ変換も行うcvs2svn[hg]のような他の多くのツールがあることを知っています。しかし、私はそれには興味がありません。この特定の問題を理解したいと思います。
同じリポジトリの変換が異なるマシンで失敗するのはなぜですか?これをさらにデバッグするためのいくつかの戦略は何ですか?