我目前正在将SVN存储库迁移到Git并使用git svn遇到以下问题:
$ git svn fetch
fatal: update_ref failed for ref 'refs/remotes/origin/tags': cannot lock ref 'refs/remotes/origin/tags': 'refs/remotes/origin/tags/REL-2.3.1.1' exists; cannot create 'refs/remotes/origin/tags'
update-ref -m r3264 refs/remotes/origin/tags 981b12f8d739180b54d280f61a197ba3ae792ad9: command returned error: 128
配置:使用标准布局(-s
)
问题是,SVN修订版3264添加了一个名为branches\tags
的文件夹,这是非常不幸的。有什么方法可以说:
“标准布局(主干,分支机构,标签),但branches\tags
下的所有”分支机构“都是标签”?
编辑:当前配置:
[svn-remote "svn"]
url = https://server/svn/projects/myproject
fetch = trunk:refs/remotes/origin/trunk
branches = branches/*:refs/remotes/origin/*
tags = tags/*:refs/remotes/origin/tags/*
添加:
tags = tags/*:refs/remotes/origin/branches/tags/*
不起作用。
答案 0 :(得分:2)
刚才意识到-s
将branches
文件夹设置为refs/remotes/origin/*
。如果我手动将其更改为refs/remotes/origin/branches/*
我不会遇到名称冲突(分支/标记与标记)以及从一开始就重新运行git svn fetch
后问题就消失了。
答案 1 :(得分:0)
“标准布局(主干,分支,标签),但所有”分支“下 分支\标签也是标签“?
你不能这样说,必须在转换之前将标签移到分支空间之外(从我的POV转储比普通svn mv
更安全)