1

cvsnt リポジトリを git にインポートして履歴を維持するにはどうすればよいですか? 制限はありますか?

現在、作業ソース管理を CVSNT から新しいものに変更することを計画しています。ロールアウトを担当する同僚が SVN を提唱しています。GIT に対する彼の唯一の異議は、CVSNT から GIT への履歴のインポートは信頼できないという考えです。

次のような投稿を見たことがあります: cvsimport still not working with cvsnt

これはまだ本当の問題ですか?

もしそうなら、信頼できる解決策はありますか?

4

1 に答える 1

3

見てみるのが一番です。変換を実行してから、結果のチェックアウト ツリーを CVS チェックアウト ツリーと比較すると、それらが一致する場合、動作している可能性があります。一部のリポジトリでは変換に問題が発生する場合があります。CVS ベンダー ブランチを使用すると問題が発生する可能性があることはわかっています。私たちの仕事用の CVSNT リポジトリでは、cvs2git プログラム (これは cvs2svn btw に基づいています) が最良のバージョンを生成したことがわかりました。検証するために、関心のある各ブランチの先端を cvs チェックアウトと比較し、いくつかの Unicode の失敗を修正すると、完全に一致しました (これらは、cvs にコミットしたときに壊れていたレジストリ ファイルであり、git エラーへの変換ではありません)。 )。

私の知る限り、CVSNT 固有の commit-id フィールドを読み取って同じ変更セットを再作成するものはありません。したがって、利用可能なプログラムはすべて、時間/コミット メッセージのヒューリスティックを使用して変更セットを解決するため、潜在的に間違っている可能性があります。私が本当に言えるのは、cvs2git が 10 年前の cvs リポジトリを変換するのに問題なく動作したということだけです。試してみて、よく確認してください。

于 2012-08-30T07:55:40.220 に答える