情况是这样的:
一个团队从事长期功能分支(18个月)。定期将主干合并到此功能分支(每个月开始,每两个月或每三个月一次)。
今天我们想要使用重新集成功能将功能分支合并回主干。
问题是我们得到了很多(数千!):
branches/feature/dir/file.foo
Missing ranges: /trunk/dir/file.foo:94959
但是,当我检查svn日志时,我可以看到范围94000-96500确实在过去的某个时间合并过。
这里发生了什么? 为什么svn抱怨“缺失范围”,如果不是这样的话? 如果我在94000-96500上看到合并信息,是否会有原因导致r94959丢失? 我该如何解决这个问题(正如我所说,我们正在谈论成千上万的修订“失踪”)?
感谢您的帮助。
答案 0 :(得分:1)
这通常发生在以下情况中:
branch1
和branch2
并行工作。branch1
,然后创建branch2
。但是,branch2
更改首先完成,然后重新集成到主干。branch1
之前,我们需要从主干到svn merge
执行svn merge --reintegrate
(不是branch1
)并解决冲突。merge-info
中进行更新。如果我们不提交这些文件夹,因为这些只是merge-info
属性更改,那么在reintegrate
branch1
合并期间可能会导致类似的问题。如果这是您的情况,您可以尝试的解决方案是再次从主干svn merge
执行branch1
,您将再次在文件夹中更新merge-info
个属性,将这些提交给branch1
。然后,再次使用svn merge --reintegrate
从branch1
再到中继。