8

我们刚刚从 subversion 切换到 mercurial,但有一件事占用的时间比预期的要多;合并头。

我们喜欢它保持合并独立于 2 个提交(与颠覆相比)的事实,但我们最终会定期合并 2 个头部以进行不相关的更改。

简单的场景。我和鲍勃都是最新的。我们都在默认(又名主)分支上更新了最新版本,并在不同的文件中进行了改进。

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

因此,是否有执行这些步骤的扩展尝试合并如果没有冲突提交否则取消合并

我们希望在自动化服务器上​​运行它,所以 +1 这是命令行,如果它可以在不接触工作副本的情况下进行合并,则 +1。

谢谢!


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

谢谢您的帮助!

4

2 回答 2

3

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

fetch =

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

于 2011-03-07T03:29:02.597 回答
3

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

有人已经建议fetch了,其他人可能会建议rebase,但我个人认为合并是编码,并希望它是手动的。这几乎不需要时间,而且是一个机会,可以提供一个好消息,例如“在我的 FooBar 工作中途加入 Jane 的工作”(而不是 fetch 提供的无用提交消息)。

于 2011-03-07T04:48:40.403 回答