svn merge with --reintegrate 抱怨缺少范围,但 mergeinfo 似乎是正确的 [英] svn merge with --reintegrate complains about missing ranges but mergeinfo seems correct
问题描述
我有一个具有以下结构的项目
I have a project with with the following structure
^/project/trunk
^/project/branches/mybranch
当前 HEAD 是修订版 1048.分支是从 r523 中的主干复制的.主干已合并到 mybranch,结果为 r1048.^/project/branches/mybranch
上的合并信息给出
where current HEAD is revision 1048. The branch was copied from trunk in r523. trunk has been merged to mybranch with the result being r1048. The mergeinfo on ^/project/branches/mybranch
gives
/project/trunk:523-1047
并且trunk的mergeinfo没有任何记录提到^/project/branches/mybranch
.实际上实际上主干和分支都保存来自与 mybranch
平行的分支的合并信息,但这些合并信息在两个输出中看起来完全相同.
and the mergeinfo of trunk has no record mentioning anything from ^/project/branches/mybranch
. Actually in reality both trunk and branches also hold mergeinfos from branches parallel to mybranch
but those mergeinfos appear as absolutely identical in both outputs.
现在我进入我的主干工作副本并尝试发出
Now I go into my working copy of trunk and try to issue
svn merge --reintegrate ^/project/branches/myproject
我收到一条错误消息,内容为:
I get an error message that says:
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
这很奇怪,因为我的分支文件夹上的合并信息告诉我 523-1047 已从主干正确合并到分支.那个子文件夹是怎么回事?src
是一个明显存在于主干和分支中的目录.
That is weird because the mergeinfo on my branch folder tells me that 523-1047 have been correctly merged from trunk to branch. What is the deal with that subfolder? src
is a directory that obviously exists in both trunk and branch.
我认为这就是可疑之处.如果我通过 svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD
查看 mybranch/src 的合并信息,我什么也得不到.但是,如果我查看主干/src (svn pg svn:mergeinfo ^/project/trunk/src@HEAD
) 我得到
I think that is where something is fishy. If I look into the mergeinfo of mybranch/src via svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD
I get nothing at all. If I look at the trunk/src however (svn pg svn:mergeinfo ^/project/trunk/src@HEAD
) I get
/project/branches/mybranch/src:784
所以似乎有人在那里从树枝到树干进行了挑选.但是,这不会出现在主干文件夹本身中.
So it seems as though someone did a cherry-pick from branch to trunk there. However this does not appear in the trunk folder itself.
这就是问题所在吗?最重要的是:我怎样才能治愈它??
Is that where the trouble lies? And most importantly: how can I cure it??
推荐答案
这就是问题所在吗?
Is that where the trouble lies?
是的,正是 - 稍后合并子树总是混淆重新集成
Yes, exactly - merge subtree later always confuse reintegration
最重要的是:我怎样才能治愈它??
And most importantly: how can I cure it??
从/project/trunk/src 中删除合并信息
Remove mergeinfo from /project/trunk/src
这篇关于svn merge with --reintegrate 抱怨缺少范围,但 mergeinfo 似乎是正确的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!