私は、次のSVNリポジトリの構造を持っている:git-svnを使ってsvnリポジトリの異種の部分を扱うにはどうすればいいですか?
branches
branch-1
branch-2
trunk
system-a
component-0
component-1
system-b*
component-0
component-1*
shared*
site_scons*
SConscript*
私はsystem-b
のcomponent-1
を開発する必要がありますが、彼らは私たちのSVNサーバへの直接アクセスを持っていないので、彼らはローカルのgitを使用する必要がチームを持っています。 git-svn
はちょうど私が探しているようで、git svn dcommit
とgit svn rebase
を使ってgit repoを作成し、同期を管理することができます。
私は簡単にgit svn clone https://svn-repo
で彼らのために全体のsvnレポを複製することができますが、これはまた、彼らにsystem-a
の下ですべてのものだけでなく、system-b
下component-1
以外のすべてを与えるだろう。これを行わない理由はいくつかありますが、そのうちの1つは、system-b/component-1
チームに影響を与えない膨大なリポジトリを複製(および変更を追跡)するのは賢明ではないということです。
上記のスター付きのディレクトリは、本当にアップデートを取得して変更する必要がある唯一のものです。また、アクセスする必要のないものを誤って変更することを不可能にすることは素晴らしいことです。
どうすればでこれを達成できますか?私は、私はいくつかの別々のGitのリポジトリを作成することができます考えラました:
git svn clone https://svn-repo/trunk/SConscript
git svn clone https://svn-repo/trunk/site-scons
git svn clone https://svn-repo/trunk/system-b/component-1
git svn clone https://svn-repo/trunk/shared
しかし、私の理解に、この4つの実際の個別のgitリポジトリを作成し、以来、これは見て、それはgitのチームにとって頭痛の種になりますように聞こえます。 git-svn
を使用して、単一のgitリポジトリ内にこの「スパースチェックアウト」構造を持たせる方法はありますか?