将git svn限制为分支

chi*_*.de 7 git git-svn git-branch

使用git-svn将我的本地git用作svn客户端非常漂亮.

不幸的是,似乎不可能将git svn限制在某些分支上?

拿到 One '*' is needed in glob: 'branches/v10'

branches在gitconfig中使用固定分支路径设置两行时

url = https://example.com/svn/reps/test
fetch = trunk:refs/remotes/trunk
branches = branches/v10:refs/remotes/v10
branches = branches/v09:refs/remotes/v09
Run Code Online (Sandbox Code Playgroud)

有没有办法解决不使用不同的SVN遥控器(这会导致索引爆炸导致分支点不仅仅是来自行李箱的"补丁/副本",所有"行李箱"历史将再次进入;(


编辑: 清除我的意图:有一个巨大的SVN存储库,有n个分支.在SVN中,我只需要在两个不同的工作区中检查两个分支,我需要工作.在Git中,DVCS方面将"克隆"整个SVN存储库,包括所有SVN分支的所有信息(考虑具有> 50.000个变更集的存储库).我打算在本地计算机上尽可能减少磁盘使用量.因此我想到了,为我需要的两个特定分支设置git(v10和v09).所以我仍然在这个git存储库中有很好的合并功能,但不需要克隆我不需要的所有东西(而且永远不需要).除了"光盘使用"之外的另一个方面是问题,克隆完整的SVN存储库需要非常非常......(我说的很长)!


chi*_*.de 17

对此的解决方案在手册中.最后svn manpage,发现以下评论:

It is also possible to fetch a subset of branches or tags by using a comma-separated list of names within braces. For example:
[svn-remote "huge-project"]
        url = http://server.org/svn
        fetch = trunk/src:refs/remotes/trunk
        branches = branches/{red,green}/src:refs/remotes/branches/*
        tags = tags/{1.0,2.0}/src:refs/remotes/tags/*
Run Code Online (Sandbox Code Playgroud)