繁体   English   中英

svn与--reintegrate合并抱怨缺少范围,但mergeinfo似乎是正确的

[英]svn merge with --reintegrate complains about missing ranges but mergeinfo seems correct

我有一个具有以下结构的项目

^/project/trunk
^/project/branches/mybranch

当前HEAD是修订版1048.分支是从r523中的trunk复制的。 trunk已合并到mybranch,结果为r1048。 ^/project/branches/mybranch给出

/project/trunk:523-1047

并且trunk的mergeinfo没有提及^/project/branches/mybranch任何记录。 实际上实际上,主干和分支也从与mybranch平行的分支中保持mergeinfos,但是这两个mergeinfos在两个输出中看起来完全相同。

现在我进入我的干线工作副本并尝试发布

svn merge --reintegrate ^/project/branches/myproject

我收到一条错误消息:

svn: Reintegrate can only be used if revisions 523 through 1048 were previously merged from file:///home/svn/project/trunk to the reintegrate source, but this is not the case:
  project/branches/mybranch/src
    Missing ranges: /project/trunk/src:523-1047

这很奇怪,因为我的分支文件夹上的mergeinfo告诉我523-1047已经从主干到分支正确合并。 这个子文件夹的处理是什么? src是一个显然存在于trunk和branch中的目录。

我认为这是有些可疑的地方。 如果我通过svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD查看mybranch / src的mergeinfo svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD我什么都没得到。 如果我看一下trunk / src( svn pg svn:mergeinfo ^/project/trunk/src@HEAD )我得到了

/project/branches/mybranch/src:784

所以似乎有人在那里从一个分支到另一个分支做了一个樱桃挑选。 但是,这不会出现在trunk文件夹中。

那是麻烦所在吗? 最重要的是:我该怎样治愈它?

那是麻烦所在吗?

是的,确切地说 - 以后合并子树总是混淆重新融合

最重要的是:我该怎样治愈它?

从/ project / trunk / src中删除mergeinfo

以下是您可能想要查看的非常相似的主题:

只有在以前合并修订URL以重新集成源时,才能使用重新集成

特别是Paul Whipp的 回答在我遇到同样的问题并且不想删除mergeinfo时给了我很多帮助,因为这听起来像是一种解决方法而不是“真正的”修复。

简而言之:尝试手动合并特定文件/文件夹的缺失信息(正如svn建议的那样)。 对我来说就像一个魅力。

请参阅Pauls答案以获取相应的代码示例等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM