【发布时间】:2011-10-18 10:17:20
【问题描述】:
我想使用 git-svn 查看 Boost 库,我只想查看从 1.35 版本开始的主干和标签,即 tags/release/Boost_1_35 及更高版本。我的配置如下所示:
[svn-remote "svn"]
ignore-paths = ^tags/release/(?i:(?!boost)|[^/]*(?:beta|rc)|boost_(?:0|1_[1-2]|1_3[0-4]))[^/]*/
url = https://svn.boost.org/svn/boost
fetch = trunk:refs/remotes/svn/trunk
tags = tags/release/*:refs/remotes/svn/tags/*
但是,git fetch 仍然会获取大量不相关的标签,例如 svn/tags/version_0-9-10 或 svn/tags/version_0-9-10@44215。我想知道指定忽略路径以实现此效果的正确方法是什么。
顺便说一句:我读过How do I fetch/clone only a few branches using git-svn?,但听起来不是一个可扩展的解决方案。
【问题讨论】:
-
My answer on a related question 可能也适用于您。
-
@MatrixFrog 谢谢。我认为它与我提到的非常相似,因为 boost 是一个非常大的存储库,所以它的可扩展性不太好。我还担心当新分支出现时,git 会再次遍历所有 svn 历史吗?如果是,那么它不太适用于 boost 存储库,因为使用 git 签出一个完整的 boost 存储库通常需要几天时间。
-
是的,这很好。您可能想让它在一夜之间运行,如果有大量标签,可能不止一次。或者,可能有人已经完成了这项工作并将其发布在某个地方,因此您可以克隆他们的 git 存储库。事实上,谷歌“boost git”——似乎已经发生了。
标签: git git-svn git-branch