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

jan*_*048 12 svn svn-merge

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

^/project/trunk
^/project/branches/mybranch
Run Code Online (Sandbox Code Playgroud)

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

/project/trunk:523-1047
Run Code Online (Sandbox Code Playgroud)

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

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

svn merge --reintegrate ^/project/branches/myproject
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

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
Run Code Online (Sandbox Code Playgroud)

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

我认为这是有些可疑的地方.如果我查看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
Run Code Online (Sandbox Code Playgroud)

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

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

Laz*_*ger 14

那是麻烦所在吗?

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

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

从/ project/trunk/src中删除mergeinfo