3

我有几个从 SVN 转换而来的存储库,我们希望确保当人们推送到存储库时,他们不能创建额外的头。TipsAndTricks wiki页面中有几个钩子 可以防止在有多个头时推动,但是我如何构建一个防止推动头的钩子?

看起来这样做的正确方法是比较修订版 0:parent 中的磁头数,然后比较 0:tip,但我似乎找不到这样做的方法。hg heads -r $HG_NODE仅向我显示用户第一次提交被推送后的人头数。

4

5 回答 5

5

默认情况下,hg push防止推动额外的头,需要-f标志。您可以编写一个 Mercurial 扩展来使其忽略该标志,从而有效地禁用新头的推送。

也就是说,我会质疑机械地禁止新头的智慧。相反,我会训练你的团队在推进之前正确合并,同时仍然允许他们在极少数情况下这样做,特别是因为 Mercurial 已经警告过你。

于 2010-12-03T23:57:51.537 回答
3

Mercurial wiki - 提示和技巧 - 防止会产生多个头的推送

指向几个现有的钩子,这些钩子可能对复制和适应有用。

于 2010-12-06T12:36:17.620 回答
1

检查此链接。它使允许多个磁头的过程自动化

Mercurial Hook:禁止多头

于 2010-12-06T05:32:02.500 回答
0

用于hg ci -m 'Closed branch feature-x' --close-branch关闭除一个头以外的所有头,然后使用普通的单头钩。

于 2010-12-06T16:45:31.037 回答