2012-04-25 11 views
1

にコミット私は基本的には次のgitリポジトリのレイアウトインポートgitのレポがSVN

x ---- a -------------- b -------------- c ----> 
     y -- 1 -- 2 -- ┛ z -- i -- j -- ┛ 

xyzを持っている最初のコミットされています。私は複数のgitリポジトリを1つの大きなリポジトリに1つの大きなリポジトリにマージしたので、これらの複数の初期コミットがあります。

複数回。すべてのサブモジュールは、基本的に同じファイルレイアウトでした。 SVNにgitのレポをインポートするには

私はその後、私は

cd my-project 
git remote add dev /path/to/working/git/big-repository 
git pull dev master 
git svn rebase 

を試みたが、リベースが原因と思われるいくつかのマージエラーの失敗した空のSVNリポジトリを初期化し、

git svn clone http://some/svn/repo/my-project 

経由でクローン化されましたすべてのサブモジュールのトップレベルに同じファイルがあるため(pom.xml

gitリポジトリをインポートできる方法はありますか歴史を守っていますか?

答えて

0

他の人がより優雅な回答を提供してくれることを願っていますが、問題が本当にこの1つの競合するファイルであれば、おそらくgit filter-branchを使用してプロジェクト履歴からファイルを削除できます。

This pageがあります。

+0

私はそうは思わない。各サブモジュールは同じレイアウト(ルートディレクトリに 'pom.xml 'を持つ)を持っていますが、big-repoの異なるディレクトリに終わってしまいます。何とかsvnのためにrebaseするとき、彼らは同じディレクトリに終わる。これは、複数の初期コミットが原因であると想定しています。 – oschrenk