Mercurial:如果等待传入或如何防止多个头,则避免提交?

时间:2014-08-29 10:55:18

标签: mercurial

我正在使用mercurial,我们发现了多个头的问题。

我不会问如何解决它。我已经知道了。

问题是,如何配置mercurial(如果可能)以防止提交而不进行拉动和合并?

如何阻止用户创建多个头?

感谢。

编辑:

让我直截了当地说清楚,因为我开始担心我不理解mercurial的方式。

我创建了一个存储库,我们称之为Projects。 我将数据推送到它上面,创建了修订版1 然后我修改数据,创建修订版2

我的同事下载了回购,现在有一个本地rev2 我修改我的数据(Rev2)并提交 我的同事修改了他的本地(rev2)。

现在,我的同事无法推动他的工作,因为它创造了一个新的头脑。 但是,如果他第一次拉动代码他得到我的rev2'并且可以继续推进修改后的rev3。 问题是,我不希望他能够创造这个新头,但是,在他提交之前强迫他拉出我的来源,所以只有一个头。

正如Mathiasdm所说,我开始认为这是不可能的,因为我们的本地版本不同? 我使用mercurial错误?

1 个答案:

答案 0 :(得分:2)

这将在Linux / UNIX上执行您想要的操作:

[hooks]
precommit = ! hg incoming 

这是有效的,因为如果有传入的更改,hg help incoming会显示传入的返回0。并且当man hgrc显示precommit挂钩返回0时,提交可以继续。添加一个否定,鲍勃是你的叔叔。

当然,这些都不能保证不会有多个头,但它确保你不能在没有检查其他人是否已推出一个头的情况下提交。祝你的朋友安装钩子好运。