SVN 合并 --重新集成在"missing ranges"失败



情况如下:

一个团队致力于长期专题分支(18个月)。定期将主干合并回该功能分支(每个月初,稍后每两三个月)。

今天,我们想使用重新整合功能将功能分支合并回主干。

问题是我们得到了很多(数千!):

branches/feature/dir/file.foo
Missing ranges: /trunk/dir/file.foo:94959

但是,当我查看svn日志时,我可以看到94000-96500范围确实在过去的一段时间被合并了。

这里发生了什么?如果这不是真的,svn为什么抱怨"缺少范围"?如果我在94000-96500上看到合并信息,r94959会丢失吗?我该如何解决这个问题(正如我所说,我们谈论的是"丢失"的数千个修订)?

谢谢你的帮助。

这通常发生在以下场景中:

  1. 您的主干有两个分支,如branch1branch2,它们并行工作
  2. 先创建branch1,然后创建branch2。但是,branch2的更改首先完成,然后将这些更改重新整合到主干中
  3. 之后,在重新整合branch1之前,我们需要做一个从主干到branch1svn merge(而不是svn merge --reintegrate),并解决冲突
  4. 在此过程中,我们可能会得到一些文件夹,这些文件夹的属性也发生了更改,并在一些merge-info中进行了更新。如果我们不提交这些文件夹,因为这些只是merge-info属性更改,那么在branch1reintegrate合并过程中可能会导致类似的问题

如果这是您的场景,您可以尝试的解决方案是再次从主干到branch1执行svn merge,您将再次在文件夹中更新merge-info属性,并将其提交到branch1。然后,使用从branch1到中继的svn merge --reintegrate重试。

相关内容

  • 没有找到相关文章

最新更新