我们的svn到目前为止传统布局:
trunk
branches/
tags/
我很久以前克隆了整个存储库,一切都很完美。但几周前有人发现特定的版本应该发布/而不是分支/所以布局改为以下:
trunk
branches/
releases/
tags/
有什么方法可以开始跟踪发布/没有再次克隆整个存储库(其中包含超过15k的修订版......)?这就是我的配置在这一刻的样子:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
autocrlf = false
[svn-remote "svn"]
url = https://blahblah
fetch = trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
遗憾的是,“git svn fetch”由于某种原因无法从版本中获取任何内容,而“git branch -r”未在此目录中显示任何版本。
答案 0 :(得分:1)
根据git help svn
,您似乎可以在配置文件中指定多个branches=...
行:
当使用多个--branches或--tags时,git svn不会自动处理名称冲突(例如,如果来自不同路径的两个分支具有相同的名称,或者分支和标记具有相同的名称)。在这些情况下,使用init设置您的git存储库,然后在第一次获取之前编辑.git / config文件,以便分支和标记与不同的名称空间相关联。例如:
branches = stable/*:refs/remotes/svn/stable/*
branches = debug/*:refs/remotes/svn/debug/*
在你的情况下,如果你确定你不会发生任何名称冲突,我想你可以有以下几行:
branches = branches/*:refs/remotes/*
branches = releases/*:refs/remotes/*