2011-10-19 11 views
1

私は特定のプロジェクト "proj1"に対して私のgit-svnを使用したいと思います。多くの "サブリポジトリ"を持つgit-svnと巨大なsvnリポジトリ

は、しかし、私たちのリポジトリには、次のようになります。

proj1/ 
    app1/ 
    component1/ 
     branches/ 
     tags/ 
     trunk/ 
    component2/ 
     branches/ 
     tags/ 
     trunk/ 
    app2/ 
    component22/ 
     branches/ 
     tags/ 
     trunk/ 

はどのようにしてこれに対処しますか?

私はgitサブモジュールが答えだとは思っていましたが、それについてはあまりよく分かりませんし、グーグルではgit-svnでサポートされていないようです。

ありがとうございます。

編集:この質問は関連していますSvn -> git migration with several trunk/branches/tags。しかし、正しい答えはありません。最も高いランクの1つは、「サブリポジトリ」がほとんどないと予想します。しかし、私たちのプロジェクトにはたくさんのものがあります。

答えて

2

普通の方法は、componentcoherent set of filesとそのown development lifecycle)をgit repoに関連付けることです。
これは、いくつかをそれぞれgit-svn cloneにすることができ、それぞれが別個のコンポーネントを参照するSVNアドレスを持つことを意味します。

そこから、必要に応じて、単一の親リポジトリ内のさまざまなレポをsubmodulesとして参照することができます。
しかし、そのアイデアは残っています。これらのサブモジュールの1つに入ったら、実際にはgit repo内にあります。そのレポはgit-svn dcommit操作をサポートします。

+0

こんにちは。ご回答ありがとうございます。それを自動化できるスクリプトについて知っていますか?(例えば、SVNリポジトリを歩き、「サブレポス」を検出し、「git svn clone」を実行してサブモジュールを追加するなど) – woky

+0

@wokyいいえ、SVNのディレクトリが...何か(タグ、分岐、アプリケーション、コンポーネント、モジュール、...)を表すことができるからです。あなたの場合、コンポーネントはその中に 'branches'、' tag'と 'trunk'を持つディレクトリなので、スクリプト化するのは難しいことではありません。 – VonC

関連する問題