git - 限制 git svn 到分支

标签 git git-svn git-branch

使用 git-svn 把我本地的 git 当作 svn 客户端使用还是挺漂亮的。

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

得到了 glob 中需要一个 '*':'branches/v10'

在带有固定分支路径的 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

有没有办法在不使用不同的 SVN Remote 的情况下绕过(这会导致索引爆炸,因为分支点不仅仅是来自主干的“补丁/副本”,所有“主干”历史记录都会再次出现;(


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


最佳答案

这个问题的解决方案在手册中。在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/*

关于git - 限制 git svn 到分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4966876/

相关文章:

git - "git push --set-upstream origin name/of/my/branch"是否存储中间分支?

git - 无法推送到 GitLab

Git - 查看 merge 提交后的冲突解决方案

linux - 如何从我的 Linux 机器上完全卸载 git

git:如何以交互方式逐个分支删除远程仓库中不存在的本地分支?

android - 无法结帐分支。未找到修订

git - 如果 git 设置为 core.autocrlf false,是否可以从浏览器窗口粘贴代码片段?

git 用于两个具有一个不同文件的应用程序

svn - 将具有非标准布局的 Subversion 存储库导入 Git

git-svn - git-svn 获取时 RA 层请求失败