正如我已经开始使用一个钩子Mercurial: enforce "hg pull -u" before "hg commit" 后随不允许HG推-f - 但允许汞拉创造新的头
[hooks]
pretxnchangegroup.forbid_2heads = /usr/local/bin/forbid_2head.sh
其中forbid_2head.sh看起来像这样
#!/bin/bash
BRANCH=`hg branch`
COUNT=`hg heads --template '{branch}|{rev}\n' | grep ^${BRANCH} | wc -l`
if [ "$COUNT" -ne "1" ] ; then
echo "=========================================================="
echo "Trying to push more than one head, which is not allowed"
echo "You seem to try to add changes to an old changeset!"
echo "=========================================================="
exit 1
fi
exit 0
它是在http://tutorials.davidherron.com/2008/10/forbidding-multiple-heads-in-shared.html 发现的脚本的派生物,我允许多个命名分支。
我现在的问题是,
- 它停止汞推-f这是我想要的东西
- 也停止汞拉的情况下有传入变更,我必须提交传出。这确实是不好的
我可以以任何方式重复使用相同的脚本,但更改挂钩设置并停止“hg push -f”? 或者我可以在forbid_2head.sh知道这是一个推或拉命令运行?