Ren*_*soo 3 mercurial mercurial-hook
有没有办法在执行推送之前先勾上钩子。例如,当我键入代码时,我想在代码库上运行JSHint;hg push
发现任何错误时,我将中止推送。
我首先尝试使用pre-commit
钩子。那行得通,但是在每次提交之前等待几秒钟是很麻烦的。此外,我有时会用可能损坏的代码进行中间提交。
阅读我发现的hgrc文档preoutgoing
,pre-outgoing
这似乎是我想要的东西。但是这些没有用。他们似乎唯一要做的就是在键入时运行钩子:
hg outgoing
Run Code Online (Sandbox Code Playgroud)
对我完全没有用。
找到了解决方案。如果有人想知道同一件事,请将其张贴在这里。
原来这些文档对我来说很混乱。它告诉:
"pre-<command>"
在执行关联的命令之前运行。命令行的内容作为“ $ HG_ARGS”传递。解析的命令行参数以“ $ HG_PATS”和“ $ HG_OPTS”传递。这些包含内部传递给的数据的字符串表示形式。“ $ HG_OPTS”是选项的词典(未指定的选项设置为默认值)。“ $ HG_PATS”是参数列表。如果挂钩返回失败,则该命令不执行,Mercurial返回失败代码。
我以为<command>
它所指的是钩子类型之一,例如outgoing
或commit
,我push
在那里找不到钩子。但是事实证明,该命令只是任意命令,因此我可以使用pre-push
。
问题已解决:)
归档时间: |
|
查看次数: |
857 次 |
最近记录: |