2016-08-18 80 views

回答

4

正如hg help config documentation指出:

...多个钩子可以通过追加后缀的动作同样的动作来运行。 覆盖站点范围内的钩子可以通过更改其值或将其设置为空字符串来完成。挂钩可以通过添加“优先级”的前缀来确定优先级。到新行的挂钩名称并设置优先级。默认优先级为0.

(强调我的)。虽然这指的是“全系统挂钩”,它适用于在存储库挂钩,以及:

$ sed -n '/hooks/,+1p' .hg/hgrc 
[hooks] 
pre-commit = ./foo.sh 
$ cat foo.sh 
#! /bin/sh 
echo foo 
exit 1 
$ hg commit 
foo 
abort: pre-commit hook exited with status 1 

显然,我的pre-commit钩子工作。现在打败它:

$ hg --config hooks.pre-commit= commit 
nothing changed 

(没有什么可以提交;覆盖预提交钩工作)。

当然,您将需要知道您要覆盖哪个特定的挂钩,因为可能存在多个预挂钩。

相关问题