私のチームは約1年前にSVNからRTC Jazzscmに移行することを余儀なくされました。RTCに非常に不満があるため、それを放棄することにしました。バージョン管理のためにGitに切り替えます。
RTC一般的に)からの移行に関する情報はあまり見つかりませんでしたが、これは見つかりました Git用のRational Adapter (この種の移行に使用されます)。
ソースコードを移行し、履歴をRTC jazzからGitに変更するための最良の方法は何でしょうか?
アダプターをテストしましたが、移行用ではないことを確認しました。これは、gitcommitをRTC変更セットとリンクするためのものです。
移行自体は制限されており、作業項目やビルドではなく、ソース管理部分のみが含まれます。
私は通常、リポジトリワークスペースを最後のいくつかのベースラインに設定し、それらをgit作業ツリーにインポートします。ただし、著者名はインポートしません。
インポートでは、 git
コマンド の--git-dir
および--work-tree
オプションを利用します。
( この回答 または これ に示されているように)
どこからでも入力できます。
git --work-tree=/path/to/sandbox --git-dir=/path/to/repo/.git status|add|...
最初にステータスを試して、何をインポートするかを確認してください。 /path/to/repo/.git/exclude
ファイルに、不要なインポート要素から除外するパターンを追加することができます(.jazz5
フォルダーなど)。
もちろん、/path/to/sandbox
はそのサンドボックス内の任意のサブフォルダーにすることができます。すべてをインポートする必要はありません。
同じサンドボックスを使用して、古いものから新しいものへと異なるベースライン/スナップショットで更新して、そのプロセスを繰り返します。
それは大まかな歴史を与え、それは始めるのに十分です。
私は同じ仕事をしていました。つまり、いくつかのコンポーネントを含むストリーム全体を個別のgitリポジトリに変換することでした。上記のpythonスクリプトを試してみたところ、複雑すぎて(たとえば、履歴ファイルを作成するためにEclipseですべてのURLを選択したり、ベースラインを検索したりするなど)、まったく信頼できないことがわかりました。少なくとも、4000を超える変更セットを持つコンポーネントについてはそうではありません。
そこで、少なくともWindows 7.0では、ほとんど箱から出して動作する別のスクリプトをPerlで作成しました。スクリプトには、scmのすべてのバグに対する多くの回避策が含まれているため、気にする必要はありません。
それは仕事でした、そして多分それはあなたにも役立つことができます。
ラルフ