これは私の以前の質問へのフォローアップです。
cvsps の出力 (~/.cvsps ディレクトリに保存) に目を通すと、主要で複雑なコミットのパッチセットが表示されます。しかし、既存の git リポジトリを更新するために cvsimport を実行すると、このコミットは表示されません。git-cvsimport は、不完全な CVS コミットのインポートを避けるために、10 分より新しいパッチセットを無視することを知っています。関連するブランチを特定できないパッチセットをスキップするとも聞いたことがあると思います。git-cvsimport がコミットを無視する原因として考えられるその他の理由は何ですか? どうすればこれをデバッグできますか?
以下は、cvsps の出力の一部です。
patchset: 50064
date: 1238445635
author: skiphoppy
tag:
tag_flags: 0
branch: HEAD
branch_add: 1
descr:
My log message
-=-END CVSPS DESCR-=-
members:
file:ordinaryChangedFile; pre_rev:1.44; post_rev:1.45; dead:0; branch_point:0
file:newFileRenamedAndModifiedFromOldFile; pre_rev:INITIAL; post_rev:1.1; dead:0; branch_point:0
file:deletedFileGoneBecauseRenamed; pre_rev:1.2; post_rev:1.3; dead:1; branch_point:0
...
その branch_add: 1 行は何か関係がありますか? リポジトリ全体でそのようなコミットは 9 つしかありません。他の 50090 コミットは branch_add: 0 と言っています。それ以外は、cvsps または git-cvsimport の観点からの違いはわかりません。コミットは複雑で、いくつかのファイルの名前を変更し、関連するコンテンツを変更する必要がありました。CVS で処理するのは明らかに困難です。もちろん、git にとっては簡単ですが、実際のバックエンドが CVS の場合、git が処理するのは困難です。
同じタイプの複雑なコミットをあと 3 回実行する必要があり、cvsimport がコミットを表示できないため、CVS から真新しい git リポジトリを再インポートするたびに 4 時間半を費やす余裕はありません。 .
さらに重要なことに、毎日の git-cvsimport の実行 (これを cron に入れるか、または 5 分ごとに実行するデーモンを作成するつもりでした) が、将来コミットを見逃す可能性があるという事実に怯えています! これらのコミットを取得するために既存のリポジトリを git する方法が見つかりませんでした。まったく新しいリポジトリで git-cvsimport を実行することしかできず、永遠に待つことができます。その間、他のブランチの多くを使用できなくなります。