如何在合并时进行Mercurial自动提交而不会发生冲突?

时间:2018-04-20 19:15:53

标签: mercurial

当我使用Git几年后回到Mercurial时我感到很惊讶,当我做了hg pull -u时:Mercurial获取了新补丁,没有发生冲突合并,但仍然要求提交。

hg pull -u没有造成任何冲突时,有没有办法自动提交?

目前,revlog受到许多“Merge ...”提交消息的污染,我真的更愿意看不到它们(尽管合并本身应保留在历史记录中,以防自动化过程做出错误决定)

2 个答案:

答案 0 :(得分:2)

不,我不这么认为。这是git和hg之间的根本区别。 Mercurial希望您在提交之前确保合并是正确的,可能是通过运行测试套件。

如果你不喜欢合并提交,也许你应该重新定位你的工作而不是合并?通常通过重新定义要素分支而不是合并来保持历史线性。

如果您要进行大量调整,如果您通过将WIP工作推送到非发布存储库来使用阶段系统,那么一旦代码通过审核并被接受,它就会被重新定位,然后被推送到发布存储库。您可能还会发现evolve扩展非常有用,特别是如果您与团队协作,因为这将在开发人员之间传播历史编辑操作。

答案 1 :(得分:0)

您可以使用别名:

alias hg_pull='hg pull -u && hg commit -m "No Merge Conflict"'

从你的回购中运行hg_pull应该或多或少地做你想要的。 如果在“hg pull -u”步骤出现任何问题,则不会触发提交。

如果有什么不清楚,请告诉我!