git svn fetch无法更新最近创建的分支。

3

我最近在我们的Subversion代码库中创建了一个分支。运行git-svn出现了找不到该分支的问题。唯一能想到的原因是主干落后于该分支,因为自从创建该分支以来主干没有进行任何提交。


你的SVN仓库是如何组织的?使用标准的主干(trunk)、分支(branches)、标签(tags)格式吗? - Peter Bratton
是的,该仓库符合标准格式。 - Gaurav
你使用了什么命令来克隆代码库?(请包括路径) - Peter Bratton
git svn 克隆 --stdlayout svn://path_to_repo 本地目录 - Gaurav
路径(path_to_repo)中是否包含“trunk”一词? - Peter Bratton
非常抱歉回复晚了,我错过了您的评论。path_to_repo并没有包含主干。 - Gaurav
2个回答

0

您可以尝试使用SmartGit打开您的存储库并从中提取。它是git-svn兼容的,但基于另一个引擎,因此可能没有这个错误(如果这是一个错误)。

如果这样做没有帮助,那么更有可能是您的项目配置/布局出了问题。


-1
如果您的svn仓库布局如下,
  https://server/repo/trunk
  https://server/repo/branch1
  https://server/repo/branch2
那么请将以下内容添加到您的.git/config文件中,
[svn-remote "svn"]
    url = https://svn/repo
    fetch = trunk:refs/remotes/trunk
[svn-remote "branch1"]
    url = https://svn/repo
    fetch = branch1:refs/remotes/branch1
[svn-remote "branch2"]
    url = https://svn/repo
    fetch = branch2:refs/remotes/branch2
然后执行以下命令进行fetch操作:
% git svn fetch svn 
% git svn fetch branch1
% git svn fetch branch2

-1 那并没有解释或解决原帖中的问题(分支应该 自动 被拾取),而且有更简单的解决方案来处理 Subversion 结构,即将每个分支指定为单独的 svn-remote.svn.fetch。将每个分支指定为完全不同的仓库只会让事情更加痛苦。 - me_and

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接