如何在Mercurial中创建预推钩
在mercurial中,有没有一种方法可以在推之前运行钩子。例如,我想在键入如何在Mercurial中创建预推钩,mercurial,mercurial-hook,Mercurial,Mercurial Hook,在mercurial中,有没有一种方法可以在推之前运行钩子。例如,我想在键入hgpush时在代码库上运行JSHint,并在发现任何错误时中止推送 我第一次尝试使用pre-commithook。这是可行的,但在每次提交前等待几秒钟是令人讨厌的。此外,我有时希望使用可能已损坏的代码执行中间提交 读了这本书,我发现了输出前和输出前,这似乎是我喜欢的东西。但这些都不起作用。他们似乎唯一要做的就是在我输入时运行钩子: hg outgoing 对我一点用处都没有。找到了解决办法。把它贴在这里,以防其他人对
hgpush
时在代码库上运行JSHint,并在发现任何错误时中止推送
我第一次尝试使用pre-commit
hook。这是可行的,但在每次提交前等待几秒钟是令人讨厌的。此外,我有时希望使用可能已损坏的代码执行中间提交
读了这本书,我发现了输出前
和输出前
,这似乎是我喜欢的东西。但这些都不起作用。他们似乎唯一要做的就是在我输入时运行钩子:
hg outgoing
对我一点用处都没有。找到了解决办法。把它贴在这里,以防其他人对同样的事情感到疑惑 原来文档对我来说很混乱。它告诉我们:
“预处理”
在执行相关命令之前运行。命令行的内容作为“$HG_ARGS”传递。解析后的命令行参数作为“$HG_PATS”和“$HG_OPTS”传递。它们包含内部传递给的数据的字符串表示形式。“$HG_OPTS”是一个选项字典(未指定的选项设置为默认值)。“$HG_PATS”是一个参数列表。如果钩子返回失败,则命令不会执行,Mercurial返回失败代码
我认为它所指的
是一种钩子类型,比如outgoing
或commit
,我在这里找不到一个push
钩子。但事实证明该命令只是任何mercurial命令,所以我可以使用预推
问题已解决:)