svn merge --reintegrate失败"缺少范围"

时间:2013-02-12 16:16:41

标签: svn merge conflict svn-reintegrate

情况是这样的:

一个团队从事长期功能分支(18个月)。定期将主干合并到此功能分支(每个月开始,每两个月或每三个月一次)。

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

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

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

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

这里发生了什么? 为什么svn抱怨“缺失范围”,如果不是这样的话? 如果我在94000-96500上看到合并信息,是否会有原因导致r94959丢失? 我该如何解决这个问题(正如我所说,我们正在谈论成千上万的修订“失踪”)?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这通常发生在以下情况中:

  1. 您的主干有两个分支,如branch1branch2并行工作。
  2. 首先创建
  3. branch1,然后创建branch2。但是,branch2更改首先完成,然后重新集成到主干。
  4. 在重新整合branch1之前,我们需要从主干到svn merge执行svn merge --reintegrate(不是branch1)并解决冲突。
  5. 在此过程中,我们可能会在某些文件夹中添加属性更改,并在某些merge-info中进行更新。如果我们不提交这些文件夹,因为这些只是merge-info属性更改,那么在reintegrate branch1合并期间可能会导致类似的问题。
  6. 如果这是您的情况,您可以尝试的解决方案是再次从主干svn merge执行branch1,您将再次在文件夹中更新merge-info个属性,将这些提交给branch1。然后,再次使用svn merge --reintegratebranch1再到中继。