这是我的SVN回购的结构:
http://server.net:8080/svn/CompanyName
- svn root http://server.net:8080/svn/CompanyName/ProjectBranch3
- 项目的当前分支http://server.net:8080/svn/CompanyName/ProjectBranch2
- 项目的前一个分支http://server.net:8080/svn/CompanyName/ProjectBranch1
- 项目的第一个分支http://server.net:8080/svn/CompanyName/SomeRandomProject
- 同一个根目录中我不想查看的另一个项目。有很多http://server.net:8080/svn/CompanyName/Tags/ProjectName/
- 项目标签项目最初开发为ProjectBranch1
,最后复制到ProjectBranch2
和ProjectBranch3
。我想用它的所有历史来获取项目,我希望git能够理解每个分支都是从前一个分支开始的。
现在,git init
命令有一个-b
选项来指定用于分支的子文件夹。但是,svn分支不包含在子文件夹中;如上所述,它们作为单独的子目录位于根目录中。
如何配置git-svn
来实现此目标?
答案 0 :(得分:1)
我能够使用以下.git/config
文件执行此操作:
[svn-remote "svn"]
url = http://server.net:8080/svn/CompanyName
fetch = ProjectBranch3:refs/remotes/origin/trunk
branches = {ProjectBranch1, ProjectBranch2}:refs/remotes/origin/bracnhes/*