我有一个SVN存储库结构,如下所示。我们在分支下使用多个级别用于各种发布维护分支,以及功能分支的目录。
git-svn init似乎使用单个 - 分支参数,即它似乎期望所有分支都在一个位置。
trunk
branches
1.1
1.2.1
1.2.2
1.2
1.2.1
1.2.2
1.2.3
features
feature1
feature2
关于如何处理这个的任何想法?
由于
答案 0 :(得分:13)
在配置文件中,将svn-remotes部分设置为:
[svn-remote "svn"]
url = svn://svnserver/repo
fetch = trunk:refs/remotes/trunk
branches = branches/*/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
这可以让你抓住嵌套的分支。
答案 1 :(得分:1)
按照惯例,Subversion将所有内容分支到Subversion存储库中的单个“分支”路径中,因此git-svn
做出此假设并不奇怪。
我建议如下(请注意,您可能会在此操作中丢失一些历史记录):
branches
路径,以保留唯一标识和当前结构的概念。git-svn
git
存储库中的内容以符合您的做法。 losing history
的危险取决于git-svn
跟踪来自不同路径的复制操作的程度。我最近遇到了迁移subversion存储库(1.4-ish)的问题。
答案 2 :(得分:0)
为每个分支子目录创建一个git
仓库是否可行?
答案 3 :(得分:0)
您可以为每个分支添加多个git svn
个遥控器,或者可能为分支的每个目录添加多个git svn fetch
个遥控器。最初的{{1}}需要永远,但据我所知它应该有效。