Mercurial内部如何合并?
在quora上有一篇关于git如何进行合并的漂亮文章: 我想知道Mercurial是否存在这样的事情 我承认,我这样做的动机是,Mercurial在自动解决冲突方面似乎真的很愚蠢,但如果没有Mercurial如何进行合并的具体信息,我就无法对Git进行论证。(也可能我疯了,方法也是一样的,不管我在哪里都找不到关于HG合并的信息。) 我还听说HG是超级可配置的,所以如果有一个工具可以让合并变得不那么愚蠢,我很想听听它 作为HG看似愚蠢的一个例子,它与其他空洞的语言产生了许多冲突,例如:Mercurial内部如何合并?,mercurial,branching-and-merging,Mercurial,Branching And Merging,在quora上有一篇关于git如何进行合并的漂亮文章: 我想知道Mercurial是否存在这样的事情 我承认,我这样做的动机是,Mercurial在自动解决冲突方面似乎真的很愚蠢,但如果没有Mercurial如何进行合并的具体信息,我就无法对Git进行论证。(也可能我疯了,方法也是一样的,不管我在哪里都找不到关于HG合并的信息。) 我还听说HG是超级可配置的,所以如果有一个工具可以让合并变得不那么愚蠢,我很想听听它 作为HG看似愚蠢的一个例子,它与其他空洞的语言产生了许多冲突,例如: <
<<<<<<<< local
[some new code...]
========
>>>>>>>> other
>其他
编辑:所以,我也在寻找一个合并工具,可以智能地自动解决冲突。与之类似,它应该能够解决上面的示例,解决起来非常简单。Mercurial主要将合并留给外部程序。看 及 从最后一页开始: Mercurial在决定使用哪种合并工具时使用以下规则:
不知道HG是如何做到的,但是关于Git合并的链接非常好。谢谢。Mercurial在自动合并方面并不笨,至少它的合并质量与Git相同。我希望,@mpm能回答得更好更深入啊,我想我几天前在Mercurial irc上和mpm聊过。很酷的家伙。我将添加一个例子,说明为什么我认为它看起来有不同的质量。我只是做了另一个合并,它没有在肯定存在冲突的地方标记冲突。因此,我的代码出现了倒退。我觉得他们使用的方法是在真正发生冲突时随机选择哪一方,然后当有新代码时,将其标记为冲突。因为有人破坏了分支的访问权限,使我无法提交一天的工作,而同事覆盖了以前的推送,我今天被解雇了。我从没想过源代码管理工具会让我失业;;这是一个伟大的第一步。现在HG的premerge算法使用的决策流是什么?除了标记文件之间的差异外,internal:merge还有什么作用吗?