2012-03-08 3 views
3

はい、私はCVSを放棄すべきだと知っていますが、それは私の決断ではなく、CVSは「レガシー」サポートのためにしばらくの間存在します。しかし、ステップ1はgitコンテキストでrepoを表示することです。このような理由から、私はまずCVS - > 'readonly' Gitを同期させたいと思います。CVSとgitリポジトリをどのように同期させておくことができますか?どのスクリプトがこれを管理するのに役立ちますか?

次に、git repoの変更を手動でCVSに戻すことができます。

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

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

答えて

3

これにはいくつかの回答があります(例:here)。私はgitのcvsimportで構築されたいくつかの小さな複雑でないリポジトリを使いましたが、これはうまくいきます。しかし、あなたは慎重にチェックしなければなりません。 1つの大きなリポジトリでCVSからファイルが削除された変換でエラーが見つかりましたが、これはgitミラーに反映されませんでした。 CVSからベンダーブランチを正しくインポートすることができないことも証明されています。

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

関連する問題