当变更集很小时,Mercurial在合并文件方面做得更好吗?

当变更集很小时,Mercurial在合并文件方面做得更好吗?,mercurial,merge,dvcs,Mercurial,Merge,Dvcs,假设我有一个开发分支,用于一些特性,称为“myDevelopmentBranch”,另一个分支“myOtherBranch”,包含很多更改,其中一些将与“myDevelopmentBranch”中的内容冲突。如果我频繁提交,从“myDevelopmentBranch”到“myOtherBranch”的合并结果是否(可能)会与我较少提交(例如,一天几次而每周一两次)的合并结果有所不同?我想知道这一点,因为我认为Mercurial(或任何其他风投公司)更容易以小块的方式跟踪变化,从而更好地了解如何合

假设我有一个开发分支,用于一些特性,称为“myDevelopmentBranch”,另一个分支“myOtherBranch”,包含很多更改,其中一些将与“myDevelopmentBranch”中的内容冲突。如果我频繁提交,从“myDevelopmentBranch”到“myOtherBranch”的合并结果是否(可能)会与我较少提交(例如,一天几次而每周一两次)的合并结果有所不同?我想知道这一点,因为我认为Mercurial(或任何其他风投公司)更容易以小块的方式跟踪变化,从而更好地了解如何合并它们


注意!我知道应该频繁提交的原因很多,这只是我一直在思考的一个技术问题。

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

  • 1分支A上更改500行的变更集A1,父变更集Z
  • 分支B上更改500行的1个变更集B1,父变更集Z
…与每个分支上的50个变更集相比,您将拥有相同的合并体验,每个分支上的50个变更集更改10行,以在每个分支中生成与上述相同的文件最终状态

然而,根据我的经验,使合并更容易的不是经常提交,而是经常合并。例如,将一个稳定分支的更改合并到一个开发分支中,以使开发分支基于最新的稳定版本保留在较小的部分中,而不是等到开发分支上的工作完成后,才在一个较大的部分中使用稳定分支更改对其进行更新。在某些情况下,重定稳定分支的基址会更改,而不是合并(取决于您的DVCS工作流)