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

如何使Mercurial在合并时自动提交而不发生冲突?,mercurial,Mercurial,在使用Git好几年后回到Mercurial时,我很惊讶,当时我做了一个hg pull-u:Mercurial获取了新补丁,进行了合并,没有冲突,但仍然要求提交 当一个hg pull-u没有创建任何冲突时,有没有一种方法可以自动提交 目前,revlog被许多“Merge…”提交消息所污染,我真的不希望看到它们(尽管合并本身应该保留在历史中,以防自动化过程做出错误的决定)。不,我不这么认为。这是git和hg之间的一个根本区别。Mercurial希望您在提交之前通过运行测试套件来确保合并是正确的 如果

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

当一个
hg pull-u
没有创建任何冲突时,有没有一种方法可以自动提交


目前,revlog被许多“Merge…”提交消息所污染,我真的不希望看到它们(尽管合并本身应该保留在历史中,以防自动化过程做出错误的决定)。

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

如果你不喜欢合并提交,也许你应该重新调整你的工作,而不是合并?通常的做法是通过重定特征分支的位置而不是合并来保持历史的线性


如果您经常重定基址,那么如果您利用阶段系统,将WIP工作推送到非发布存储库,然后在代码通过审查并被接受后,将其重定基址,然后推送到发布存储库,这会有所帮助。您可能还会发现evolve扩展很有用,尤其是当您与团队合作时,因为这将在开发人员之间传播历史编辑操作。

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

如果你不喜欢合并提交,也许你应该重新调整你的工作,而不是合并?通常的做法是通过重定特征分支的位置而不是合并来保持历史的线性


如果您经常重定基址,那么如果您利用阶段系统,将WIP工作推送到非发布存储库,然后在代码通过审查并被接受后,将其重定基址,然后推送到发布存储库,这会有所帮助。您可能还会发现evolve扩展很有用,尤其是当您与团队合作时,因为这将在开发人员之间传播历史记录编辑操作。

您可以使用别名:

alias hg_pull='hg pull -u && hg commit -m "No Merge Conflict"'
从回购协议中提取hg_pull应该或多或少满足您的愿望。 如果在“hg pull-u”步骤出现任何错误,则不会触发提交


如果有不清楚的地方,请告诉我

您可以使用别名:

alias hg_pull='hg pull -u && hg commit -m "No Merge Conflict"'
从回购协议中提取hg_pull应该或多或少满足您的愿望。 如果在“hg pull-u”步骤出现任何错误,则不会触发提交


如果有不清楚的地方,请告诉我

出于好奇,是否有您喜欢的重定基调工作流参考?出于好奇,是否有您喜欢的重定基调工作流参考?