当变更集较小时,Mercurial是否能更好地合并文件?

时间:2011-06-03 09:43:15

标签: mercurial merge dvcs

假设我有一个名为“myDevelopmentBranch”的功能的开发分支和另一个包含很多变化的分支“myOtherBranch”,其中一些将与“myDevelopmentBranch”中的内容冲突。将(可能)从“myDevelopmentBranch”合并到“myOtherBranch”的结果会不同于我经常提交的结果(如每次几次而不是每周一次或两次)?我想知道这一点,因为我觉得Mercurial(或任何其他VCS)更容易跟踪小块的变化,从而更好地找出如何合并它们。

请注意!我知道为什么人们应该经常提交的原因很多,这只是我一直在思考的一个技术问题。

1 个答案:

答案 0 :(得分:5)

合并解决了更改文件之间的差异,因为它们位于两个分支的顶端(假设您正在合并提示)。所以,如果你有......

  • 分支A上的1个变更集A1,它更改500行,父变更集Z
  • 分支B上的1个变更集B1,它更改500行,父变更集Z

...与每个分支上的50个变更集相比,您将获得相同的合并体验,每个分支更改10行,以在上面的每个分支中生成相同的最终文件状态。

但是,根据我的经验, 使得合并变得更容易不是经常提交而是经常合并。例如,将一个稳定分支的更改合并到一个开发分支中,以便将开发分支基于最新的稳定版本保持在较小的位置,而不是等到开发分支上的工作进行更新,以便在一个大的位置更改稳定的分支更改咬。在某些情况下,重新定位稳定的分支而不是合并(取决于您的DVCS工作流程)。

相关问题