Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Mercurial中创建预推钩_Mercurial_Mercurial Hook - Fatal编程技术网

如何在Mercurial中创建预推钩

如何在Mercurial中创建预推钩,mercurial,mercurial-hook,Mercurial,Mercurial Hook,在mercurial中,有没有一种方法可以在推之前运行钩子。例如,我想在键入hgpush时在代码库上运行JSHint,并在发现任何错误时中止推送 我第一次尝试使用pre-commithook。这是可行的,但在每次提交前等待几秒钟是令人讨厌的。此外,我有时希望使用可能已损坏的代码执行中间提交 读了这本书,我发现了输出前和输出前,这似乎是我喜欢的东西。但这些都不起作用。他们似乎唯一要做的就是在我输入时运行钩子: hg outgoing 对我一点用处都没有。找到了解决办法。把它贴在这里,以防其他人对

在mercurial中,有没有一种方法可以在推之前运行钩子。例如,我想在键入
hgpush
时在代码库上运行JSHint,并在发现任何错误时中止推送

我第一次尝试使用
pre-commit
hook。这是可行的,但在每次提交前等待几秒钟是令人讨厌的。此外,我有时希望使用可能已损坏的代码执行中间提交

读了这本书,我发现了
输出前
输出前
,这似乎是我喜欢的东西。但这些都不起作用。他们似乎唯一要做的就是在我输入时运行钩子:

hg outgoing

对我一点用处都没有。

找到了解决办法。把它贴在这里,以防其他人对同样的事情感到疑惑

原来文档对我来说很混乱。它告诉我们:

“预处理”

在执行相关命令之前运行。命令行的内容作为“$HG_ARGS”传递。解析后的命令行参数作为“$HG_PATS”和“$HG_OPTS”传递。它们包含内部传递给的数据的字符串表示形式。“$HG_OPTS”是一个选项字典(未指定的选项设置为默认值)。“$HG_PATS”是一个参数列表。如果钩子返回失败,则命令不会执行,Mercurial返回失败代码

我认为它所指的
是一种钩子类型,比如
outgoing
commit
,我在这里找不到一个
push
钩子。但事实证明该命令只是任何mercurial命令,所以我可以使用
预推

问题已解决:)