web-dev-qa-db-ja.com

RTC JazzからGitに移行する方法は?

私のチームは約1年前にSVNからRTC Jazzscmに移行することを余儀なくされました。RTCに非常に不満があるため、それを放棄することにしました。バージョン管理のためにGitに切り替えます。

RTC一般的に)からの移行に関する情報はあまり見つかりませんでしたが、これは見つかりました Git用のRational Adapter (この種の移行に使用されます)。

ソースコードを移行し、履歴をRTC jazzからGitに変更するための最良の方法は何でしょうか?

15
Ido.Co

アダプターをテストしましたが、移行用ではないことを確認しました。これは、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はそのサンドボックス内の任意のサブフォルダーにすることができます。すべてをインポートする必要はありません。

同じサンドボックスを使用して、古いものから新しいものへと異なるベースライン/スナップショットで更新して、そのプロセスを繰り返します。

それは大まかな歴史を与え、それは始めるのに十分です。

7
VonC

私は同じ仕事をしていました。つまり、いくつかのコンポーネントを含むストリーム全体を個別のgitリポジトリに変換することでした。上記のpythonスクリプトを試してみたところ、複雑すぎて(たとえば、履歴ファイルを作成するためにEclipseですべてのURLを選択したり、ベースラインを検索したりするなど)、まったく信頼できないことがわかりました。少なくとも、4000を超える変更セットを持つコンポーネントについてはそうではありません。

そこで、少なくともWindows 7.0では、ほとんど箱から出して動作する別のスクリプトをPerlで作成しました。スクリプトには、scmのすべてのバグに対する多くの回避策が含まれているため、気にする必要はありません。

Bitbucketへのリンク

それは仕事でした、そして多分それはあなたにも役立つことができます。

ラルフ

4
Hennes