错误使用Tortoise和SVN将分支重新集成到主干

时间:2012-05-10 19:34:36

标签: svn tortoisesvn visualsvn

我试图将一个分支重新集成到主干中并且它一直告诉我分支中缺少主干中的修订,但是当我尝试将修订合并到分支时,它显示不需要合并。我在vs2010中使用VisualSVN,但即使直接进入源文件夹并使用Tortoise我也会得到同样的错误。

错误: enter image description here

当我尝试返回并合并已经合并的版本时,

合并日志(这是来自分支的图片,尝试合并来自主干的修订) enter image description here

这是分支的修订日志: enter image description here

这是来自主干的修订日志: enter image description here

1 个答案:

答案 0 :(得分:0)

我有两种解决方法:

(1)在您的主干中,对相关文件进行空白更改并将其提交到主干。然后将此更改合并到您的分支中。这应该强制此分支的分支上的mergeInfo属性将其结束范围更新为最新版本。

这只适用于相关文件的MergeInfo中没有间隙的情况:

/trunk/[path to file on HD]:750-763.

从trunk获取更新后,这将强制mergeinfo看起来像这样:

/trunk/[path to file on HD]:750-791.

如果存在差距,则无效:

/trunk/[path to file on HD]:750-755, 766-788.

它只会更新最后一个范围766-788到766-791,仍然会跳过相关版本。在这种情况下,您必须执行选项2.

(2)如果您100%确定缺少的修订实际上在您的分支中并且有问题的文件在主干和分支中都相同,我建议您这样做。否则,这可能会导致在将分支重新整合回主干时丢失更改。

在分支的本地副本中,导航到相关文件夹/文件,右键单击,在“乌龟”svn菜单中选择属性。突出显示“svn:mergeinfo”属性,然后单击“编辑”。

由于您知道更改已在您的分支中,因此请更改合并修订的范围以强制其包含缺少的修订:

/trunk/[path to file on HD]:750-755, 764, 766-788.

将此mergeinfo属性更改提交到您的分支。当你将这个分支重新集成到主干中时,你应该不再有任何错误。

如果您的主干和分支之间的文件发生了更改,则在提交时您必须将差异添加到分支中,以便在重新集成分支时不从主干中删除它们。