3

多くのモジュールで構成される古い CVS プロジェクトを継承しました。このモジュールへの分割は主に歴史的なものであり、論理的には一緒に属しています。GITプロジェクトに切り替えたい。git cvsimport は 1 つのモジュールの変換に制限されているようですが、CVS モジュールに GIT サブモジュールを使用したくありません - オーバーヘッドが多すぎます。

私は cvs2git を簡単に調べました - 動作しているように見えますが、タグに対して多くの偽のコミットを作成します (OK、一部の CVS タグは CVS ソース ツリー全体をカバーしていません)。

私が聞いた別のツールはテーラーですが、まったく機能しませんでした。

他の推奨事項はありますか?

4

2 に答える 2

0

更新: 単純な cvs2git 呼び出しを続行しました。保持する CVS モジュールを選択し、ビーストを約 1 日間実行させました。

その後、git filter-branch を使用して、CVS からのコミッター情報を GIT からのコミッター情報とマージしました。これは実際には完全には実行されませんでした。いくつかの名前を見落としていましたが、これはより審美的な問題であるため、そのままにしました。

古い CVS リポジトリと新しい GIT リポジトリの間で履歴をつなぎ合わせるために、グラフトを使用して履歴をつなぎ合わせ、(グラフト ファイルを作成した後) git filter-branch を再度実行して履歴を融合させました。

この融合は完全に成功したわけではありませんが (多少のオーバーラップが残っています)、歴史をたどるには十分です。

于 2014-08-13T09:05:36.517 に答える