2012-01-25 12 views
0

奇妙な要求です...連続したSVNとBZR reposをGITに参加させるにはどうすればいいですか?

現在、Bazaarで管理されていますが、以前はSubversionに保存されていたプロジェクトがあります。しかし、以前の開発者は、履歴をコピーするのではなく、SVNリポジトリを1回エクスポートして、まったく新しいBZRレポを開始しました。

したがって、我々は次のようしている:

SVN: A-B-C-D 
BZR: E-F-G-H 

そして、何が欲しいです:git filter-branch

答えて

0

おそらく最も簡単な

GIT: A-B-C-D-E-D-G-H 

感謝。実際、これはフィルタブランチドキュメントの例の1つです。

コミット(通常は別のヒストリの先端にあります)を現在の初期コミットの親に設定するには、次のようにします。現在の歴史の後ろに他の歴史を貼り付けます。

 git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' HEAD 

だからここ<graft-id>あなたはBZRからなる枝から作業していると仮定すると、あなたのコミットDであるので、私はあなたが移行を使用していたと仮定H.にEをコミットツールを使用してsvnとbzrの両方の履歴をgitに取得し、個別のブランチとして単一のリポジトリにインポートします。

+0

私は少し異なるプロセスを使用しました(.git/info/graftsに続いてフィルタツリーを使用しました)が、あなたの答えは正しい方向に私を指摘しました。ありがとう! – CAMason

関連する問題