3

はい、CVS を放棄する必要があることはわかっていますが、それを決定するのは私ではありません。CVS は「レガシー」サポートのためにしばらくの間存在します。ただし、ステップ 1 は git コンテキストでレポを表示することだと思います。このため、まず CVS -> 'readonly' Git を同期したいと思います。

その後、git リポジトリの変更を手動で CVS に戻すことができます。

これを行うにはどのツールを使用できますか? どれが最高ですか?できないこと (CVS のものはすべて Git に移植できると考えており、その逆を体系的に行う必要はありません)。

ありがとうございました!

4

1 に答える 1

3

これにはすでにいくつかの答えがあります。たとえば、こちらです。私は git の組み込みの cvsimport をいくつかの複雑でない小さなリポジトリに使用しましたが、これはうまくいきます。ただし、慎重に確認する必要があります (または、スクリプトで確認する必要があります)。ある大規模なリポジトリで、ファイルが CVS から削除され、これが git ミラーに反映されない変換エラーを見つけました。また、CVS からベンダー ブランチを正しくインポートできないことも証明されています。

最終的に、cvs2gitの方が信頼性が高いことがわかりました。ただし、このツールは増分変換をサポートしていません。ただし、完全な cvs2git 変換を実行し、その結果を進行中のミラーにプッシュすることで、これを回避できます。これの利点は、git ユーザーがミラーリングされたブランチにコミットしない限り、必要に応じて作業ブランチをプッシュできることです。これは、かなり大きなリポジトリ (10 年分の作業、50 万の LOC) で約 1 年間うまく機能しています。

于 2012-03-08T23:43:23.550 に答える