我有以下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
但他们需要使用git在本地,因为他们没有对我们的SVN服务器直接访问。 git-svn
似乎正是我要找的,因为它允许我创建他们的git repo并通过git svn dcommit
和git svn rebase
来管理同步。
我可以很容易地复制他们整个SVN回购与git svn clone https://svn-repo
,但是这也将给他们system-b
下system-a
下的一切,以及比其他component-1
一切。有几个原因不这样做,至少是因为复制(并跟踪更改)大量存储库并不影响system-b/component-1
团队是不明智的。
上面显示的已加星标的目录是他们真正需要从中更新并进行更改的唯一目录。让他们无法意外地更改他们不需要访问的东西也是非常好的。
我该如何使用git-svn
来实现?我想我可以创建几个单独的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
但是,这看起来和听起来像这将是git的球队头疼,因为,我的理解,这个创建四个实际不同的git仓库。有没有办法在一个使用git-svn
的git仓库中拥有这种“稀疏结帐”结构?