Sha*_*aun 14 git git-svn msysgit
我正在尝试使用git svn克隆一个svn存储库.存储库具有标记的每日构建,我想忽略它.我试图使用"ignore-paths"选项来做到这一点,但我仍然将每日构建标记作为我的存储库中的分支.
这里有一个非常近期和类似的(但迄今未解答的)问题: 如何git svn只获取具有某些模式的分支/标签?
通用存储库结构
我在正则表达式上并不那么出色,而且它们可能是错的,但这是我尝试过的:
这只是我在git svn文档中找到的修改版本:
git svn clone -r15709:HEAD --prefix=svn/ --stdlayout --no-follow-parent --ignore-paths="^[^/]+/(?:tags/builds|tags/old|branches)" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)
这是我试图简化:
git svn clone -r15709:HEAD --prefix=svn/ --stdlayout --no-follow-parent --ignore-paths="(old|builds)" https://test.kuali.org/svn/rice rice-full
Run Code Online (Sandbox Code Playgroud)
绝望......(并添加一些我不需要的路径)
git svn clone -r15711:HEAD --prefix=svn/ --stdlayout --ignore-paths="^[^/]+/(?:builds|old)|inactive|rice-functional-tests|sandbox|tools" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)
然后我切换到更新版本,以便更快完成,并尝试忽略所有分支和标签进行测试.这个似乎没有得到任何分支和标签,但它也从未完成.它似乎冻结了(至少,它的运行时间超过了我认为应该只有一两天的历史):
git svn clone -r21846:HEAD --prefix=svn/ --stdlayout --ignore-paths="^tags*|^branches*" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)
我试过的最后一个是:
git svn clone -r15711:HEAD --prefix=svn/ --stdlayout --ignore-paths="^tags/old*|^tags/builds*|^inactive*|^rice-functional-tests*|^sandbox*|^tools*" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)
我不确定ignore-paths正则表达式到底匹配什么.它是svn存储库的相对路径(tags/builds/Daily build 1)吗?是评估项目中的每个文件(标记/构建/每日构建1 /文件1,标记/构建/每日构建1 /文件2)还是仅在分支/标记级别(标记/构建/每日构建1)?它是否包含存储库基本URL(https://test.kuali.org/svn/rice/tags/builds/Daily build 1)?
除了--stdlayout之外我还应该做些什么(为标签指定一个正则表达式,以获得我想要的东西)?
我只对trunk和某些发布标签感兴趣.有没有更好的方法来获得这些?我只尝试使用trunk进行克隆,然后在配置中添加"fetch ="以仅添加我关注的标记,然后获取标记的标记,但是当我在git gui中查看结果时(可视化所有分支) )这两个标签显示为具有单个提交的浮动(未绑定到主干或彼此).
不确定它是否是相关的,但我在Windows 7 64位机器上使用msysgit(git版本1.7.3.1.msysgit.0).
很长的问题,我知道......我只想彻底.
只克隆主干而不是其他任何东西 ( )可能更容易,然后通过修改配置文件并执行es来添加您想要的特定标签和分支。git svn clone -T http://path/to/trunk
git svn fetch
归档时间: |
|
查看次数: |
8167 次 |
最近记录: |