如何使用mercurial自动合并2个头

时间:2011-03-07 03:14:04

标签: mercurial merge head

我们刚刚从颠覆转向了mercurial,有一件事比预期花费更多的时间;合并头。

我们喜欢这样一个事实:它保持合并独立于2次提交(与颠覆相比)但我们最终定期合并2个头以进行无关的更改。

简单的场景。 我和鲍勃都是最新的。 我们都在默认(也称为主要)分支上进行最新的回购,并在不同的文件中进行改进。

我们提交,只有一个能够推送到中央服务器,另一个将创建2个头。然后,拉,选择2个头,合并(它将很容易,因为更改在不同的文件上)。提交,然后推送。

因此,是否有执行这些步骤的扩展程序 尝试合并 如果没有冲突     承诺 其他     取消合并

我们希望在自动服务器上进行此操作,因此,如果它可以在不触及工作副本的情况下进行合并,那么它就是命令行,另外+1。

谢谢!


更新:
我们最终做了一些python脚本来管理最常见的任务(合并和构建;合并2个头)。

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

听起来你应该可以使用hg fetch。它将从服务器中提取更改,合并,然后自动提交合并。它也会提示合并冲突。它包含在Mercurial中,所以只需添加

即可
fetch =

到你的hgrc,你应该全力以赴。它不会自动推送,但无论如何这通常是一个坏主意。在将代码推送给其他人之前,您通常希望运行测试并解决任何合并问题。

答案 1 :(得分:3)

合并真的花了那么多时间吗?如果它们是“不相关的变化”,它不会眨眼吗?

有人已经建议fetch而其他人可能会建议rebase,但我个人认为合并编码,并希望它是手动的。几乎没有时间,这是一个给出一个好消息的机会,比如“通过我的FooBar工作中途拉简Jane的工作”(而不是fetch提供的无用的提交消息)。