[有人可以解释为什么我的preoutgoing
钩子在执行hg strip
(水银带)时被执行吗?是否有机会禁用该行为?
我希望挂钩在执行hg push
时运行。
为了避免执行钩子代码,我在钩子的开头添加了以下几行代码:
if "%HG_SOURCE%" == "strip" (
exit /b 0
)
outgoing
和preoutgoing
都将提供一个指示源动作的参数。在Python中,此参数称为source
,否则您可以访问环境变量HG_SOURCE
:
hg push
→HG_SOURCE
是push
hg strip
→HG_SOURCE
是strip
基于该观察结果,您可以简单地评估初始命令。
来源:
preoutgoing
preoutgoing