我正在使用最近升级到1.7版本的Subversion服务器。我使用的是命令行Linux客户端1.7.10。
我创建了一个这样的分支:
%: svn copy svn+ssh://acme.com/a/b/c/trunk svn+ssh://acme.com/a/b/c/branches/ovm_sequencer -m "Feature branch for ovm_sequencer"
经过几次编辑后,我试图重新融入主干道,但只遇到了问题:
%: svn merge --reintegrate '^/c/branches/ovm_sequencer'
svn: E160013: File not found: revision 1677, path '/c/branches/ovm_sequencer'
%: svn merge --reintegrate svn+ssh://acme.com/a/b/c/branches/ovm_sequencer
svn: E200007: Retrieval of mergeinfo unsupported by 'svn+ssh://acme.com/a/b/c/branches/ovm_sequencer'
哪里出了问题,如何修复?
如果您使用IntelliJ 13.1(内部版本号IU-135.475)并遇到此问题,并且您的服务器不是1.7x,则只需转到您的子版本首选项、演示选项卡,取消勾选"在历史记录和注释中显示合并源"。
两个注释:
-
SVN路径中的
^
表示始终存储库根,因此^/c/branches/ovm_sequencer
表示存储库内的"/c/branchs/ovm_sequencer",而您(很可能)在acme.com/a/b/c
路径中有存储库,URL必须是^/branches/ovm_sequencer
-
"不支持检索mergeinfo"意味着您的网络|SVN管理员有一个不好的事实,他没有阅读更新软件的发行说明:为了在服务器端支持mergeinfo,除了将1.5之前版本的软件更新为1.5或更高版本之外,还必须升级存储库才能拥有新的格式。Collabnet上的主题(非常古老-从2008年开始)"不支持mergeinfo"
升级远程存储库,而不是个人结账(需要几秒钟):
$ svnadmin upgrade REPOS_PATH
如果你担心或没有远程访问转换-转储或同步存储库副本:
$ svnsync initialize --username=XXX --password=YYY $MIRROR $MASTER
$ svnsync synchronize $MASTER
或:
$ svnadmin dump $MASTER > svn.dump