繁体   English   中英

我可以像在git中那样跳过预提交的钩子吗?

[英]Can I skip mercurial pre-commit hooks like in git?

我想做一些类似git commit --no-verify事情,但要谨慎一些。 有什么办法吗?

hg help config文档中所述

...通过为操作添加后缀,可以为同一操作运行多个钩子。 可以通过更改其值或将其设置为空字符串来覆盖整个站点范围的挂钩。 可以通过添加前缀“ priority”来对挂钩进行优先级排序。 到新行上的钩子名称并设置优先级。 默认优先级为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

显然,我的预提交挂钩正在工作。 现在要击败它:

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

(没有要提交的内容;覆盖预提交的钩子是可行的)。

当然,您可能需要知道要覆盖哪个特定的钩子,因为可能有多个预提交的钩子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM