从新添加的分支目录中检出远程分支

时间:2010-03-19 11:31:50

标签: git git-svn

我们的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”未在此目录中显示任何版本。

1 个答案:

答案 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/*