情况就是这样:我们有一个庞大的svn存储库,它就是"主人"(不能改变它,因为它实际上是由另一家公司"拥有").我们宁愿在git本地工作,以获得git提供的分支灵活性和速度.但我们不想克隆整个存储库.
存储库结构看起来大致如下:
/trunk/project1/*
/project2/*
/branches/branch/project1/*
/project2/*
/tags/tag1/tag1a/project1/*
/tag1b/project1/*
/tag2/tag2a/project2/*
Run Code Online (Sandbox Code Playgroud)
我只对project1感兴趣,但我想同时拥有主干和分支(标签不是那么重要,但是获得它们也会很好).
我可以使用这些svn-remote设置克隆一个分支:
[svn-remote "svn"]
url = https://svn.company.com/svn/branches/branch1/project1
Run Code Online (Sandbox Code Playgroud)
但我真的想要获得分支结构.我考虑过使用ignore-paths:
[svn-remote "svn"]
ignore-paths=^project2|^project3|...
Run Code Online (Sandbox Code Playgroud)
但每次添加新的顶级"项目"目录时,我都必须更新忽略路径,这是不可持续的.
其次,我们真的只需要/ tags/tag1中的标签(如果我们需要标签).任何关于如何做到这一点的想法将不胜感激.
我认为.git/config文件中的以下内容应该有效:
[svn-remote "svn"]
url = https://svn.company.com/svn
trunk = trunk/project1:refs/remotes/svn/trunk
tags = tags/*/project1:refs/remotes/svn/tags/*
branches = branches/*/project1:refs/remotes/svn/branches/*
Run Code Online (Sandbox Code Playgroud)
我基于git-svn联机帮助页的配置部分
归档时间: |
|
查看次数: |
1288 次 |
最近记录: |