如何创建一个防止新头的mercurial钩子?

Asa*_*ers 3 mercurial mercurial-hook

我有几个已经从SVN转换而来的存储库我们希望确保当人们推送到存储库时他们无法创建额外的头.在TipsAndTricks维基页面 中有几个钩子,如果有多个头,则阻止推送,但是我如何构建一个阻止推头的钩子?

看起来这样做的正确方法是比较修订版0的头数:父版,然后比较0:提示,但我似乎找不到办法做到这一点.hg heads -r $HG_NODE只显示用户第一次提交后的头数.

tgh*_*ghw 5

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

那就是说,我会质疑机械地禁止新头的智慧.相反,我会训练你的团队在推动之前正确合并,同时仍允许他们在罕见的情况下进行合理,特别是因为Mercurial已经警告过你.