16

ClearCase から Subversion への移行を検討しています。このプロジェクトはしばらくの間 (7 年) 存在し、積極的にサポートしている 3 つの「メジャー」バージョン (ブランチ) と、古いリリースでの不定期の修正があります。プロジェクトはかなり大きく、約 200 万行の Java コードがあります。

同様の移行を行った人がいるかどうかに興味があります。

  • SVN はこのような大規模なプロジェクトを処理できますか?
  • すべての履歴バージョン/ブランチを移行することは理にかなっていますか? 選択的にそれを行うことができるツールはありますか?
  • このようなプロジェクトの移行プロセスにはどのくらいの時間がかかりますか?また、移行が進行中である場合の効果的な作業方法は何ですか?
4

5 に答える 5

9

この種の移行をいくつか行ったので、私は次のように主張します。

  • ClearCase バージョンのすべての履歴を SVNにインポートする必要はありません。ほとんどの場合 (私の経験では)、ラベル付きのバージョン (特定のセットのすべてのファイルに一貫して適用されるバージョン) のみが必要です。

  • 移行中の再編成について考える必要があります: 何をインポートし、何を残しますか? また、ClearCase VOB に保存されているファイルの構造をSVN コンテンツに正確に反映させますか? 場合によっては、このような移行は、これらのファイル構成の一部を再考する機会になります (通常は、特定のディレクトリの単純な名前変更ルールによって)。

  • ClearCase 2 SVN はリポジトリ中心で一連のファイルをコミットするのに対し、ClearCase はファイル中心でファイルごとにコミットするため (はるかに遅い)、移行は ClearCase 2 SVN の方が高速です。

  • インポートするファイルのセットが明確に識別されている場合は、移行プロセスを複数回繰り返すことができます。つまり、最初の (大規模な) インポートが行われている間、ClearCase 内で作業を続けてから、ベースライン (UCM ラベル) を配置できます。コードを削除し、デルタのみを再インポートして、移行プロセスを効果的に終了します。

于 2009-02-12T20:56:33.640 に答える
5

最初のリソース:

  1. Clearvision CC2SVN ツール
  2. Polarion による SVN インポーター
  3. CollabNet の記事とリソース

実際のリポジトリのサイズ、ファイルの数、またはそれらのサイズは、SVN の制限要因ではありません。開発者の数、変更の並行性、統合およびリリース プロセスの複雑さ、マージおよびディレクトリのバージョン管理 (リファクタリング) の必要性は、大規模なプロジェクトに問題を引き起こす可能性があります。プロジェクトが大規模であるが、かなり安定しており、開発者の数が少なく、ブランチの数が少なく、以前のリリースに大量の修正をバックポートする必要がない場合、SVN は問題なく機能するはずです。

ClearCase からデータを取り出すカスタム マイグレーション ツールを作成しましたが、これは簡単な作業ではありません。2 つのシステムごとに、データ モデルとデータに対する操作が異なります。ClearCase から意味のある方法で実際にデータを取得するのは非常に難しいため、カスタムの移行ツールを作成しようとすることはお勧めしません。商用ソリューションの制限の詳細については、リソースにリンクされているソリューション プロバイダーに問い合わせることをお勧めします。

私は個人的にできるだけ多くのデータを持ち込もうとしますが、ClearCase と比較して SVN の制限に注意する必要があります。ディレクトリのバージョン管理 (リファクタリング) の履歴は、この移行中に失われる可能性があります。SVN は ClearCase のようなスパース ブランチをサポートしていないため、タスク ブランチを使用した場合に SVN リポジトリのサイズが肥大化する可能性があります。その場合、おそらくシステム ブランチのみに制限する必要があります。ClearCase のファイルには個別の分岐構造がありますが、SVN には製品ごとに分岐があるため、プロセスで多くの分岐変換が発生します。シリーズの完全に統合されたラベルのために、システム ブランチと、おそらくそれらのブランチのラベル​​付きバージョンに制限することで、多くのトラブルを回避できます。チームが UCM を使用している場合、すべての UCM メタデータをほとんど忘れることができます。

時間枠は、使用するツールに大きく依存します。あなたのような主要なプロジェクトの場合、数週間かかることもあります。ClearCase データベースには、何らかの奇妙な理由で、読み取り操作でも多くのロックがあり、移行のような大規模なアクセスで多くの問題を引き起こすすべての中央テーブルが 1 つあります。私のツールをあなたの製品より少し大きい製品で初めて実行したとき、3 年間実行されると見積もっていましたが、多くの最適化、並列化、段階的な移行の後、約 1 週間に短縮されました。ただし、ツールの完成度によっては、所要時間に大きなばらつきが生じる可能性があります。ただし、SVN に移行すると、ClearCase からの多くの履歴とメタデータを無視することになるため、移行ははるかに高速になるはずです。

ClearVision はそのページで、その CC2SVN ツールが 2 つの製品間の橋渡しを行うことができると述べています。私はこのツールを使用しませんでしたが、想定どおりに機能する場合は、いくつかの処理後に 2 つのリポジトリを同期できます。これにより、週末の切り替えが可能になり、開発のダウンタイムはゼロになります。これが不可能な場合は、最初にある日付まで移行し、次にその日付以降に変更された小さなデータ チャンクを移行する、増分移行などの代替案を求めてみてください。

プロセスの非常に重要な部分は、移行後のフェーズです。スイッチが開発者にもたらす頭痛の種を軽視しないでください。トレーニングと明確な文書化の必要性を過小評価してはなりません。また、ソフトウェア エンジニアリング部門には、両方の SCM システムを操作し、開発者が新しいシステムで慣れ親しんだ方法を説明できる、トレーニングを受けたサポート チームが必要です。これは、実際には、移行で首を痛める可能性のあるポイントです。開発者はあらゆる変更に抵抗し、SVN がプロジェクトにもたらす利点が何であれ、それは本質的にはるかに劣ったシステムです。ClearCase は、開発者が SVN では得られないほどの柔軟性を提供します。プロセスの早い段階で開発者を参加させない限り、開発者を失うか、さらに悪いことに、移行全体が元に戻され、災害が宣言され、自分の仕事を失う可能性があります。

于 2009-03-03T08:01:38.480 に答える
3

移動することにした場合は、このスタックオーバーフローの質問を見ることができます。
移行するためのツールに関する推奨事項からクリアケースへ svn

于 2009-02-12T17:59:14.593 に答える
1

別のオプションはMigrate2SVNです。開発者 (Clearvision) は v2.0 をリリースしたばかりで、Polarion ソフトウェアや上記の他の方法よりも多くの改善が含まれているようです。

于 2011-06-27T07:57:20.367 に答える
1
  1. はい、Subversion は非常に大きなプロジェクトを処理できます。たとえば、すべてのApache プロジェクトは単一の Subversion リポジトリにあり、サブプロジェクトは単純なサブフォルダーです。
  2. すべての履歴を変換することが理にかなっている場合は、自分で決定する必要があります。しかし、利用できるツールはたくさんあります。良いブログ記事はここにあります。
  3. このような変換にかかる時間はわかりません。ただし、最初に小さなサブセットで試して、時間を測定できます。
于 2009-02-12T17:52:13.143 に答える