1
理想情况下,我想回答标题问题。如何判断Mercurial命令是否通过外部钩子传递了选项?
然而,对于我的具体情况,我有我想从precommit
钩运行一个Perl脚本,我想知道,如果水银与传递给commit
命令-A
选项调用(如hg commit -A
)和如果不是,那么有可能在那个时候“通过”它?
理想情况下,我想回答标题问题。如何判断Mercurial命令是否通过外部钩子传递了选项?
然而,对于我的具体情况,我有我想从precommit
钩运行一个Perl脚本,我想知道,如果水银与传递给commit
命令-A
选项调用(如hg commit -A
)和如果不是,那么有可能在那个时候“通过”它?
这会显得有点傻,但除了precommit
钩,有一个预XXXX(和post-XXXX)挂钩的每一个命令,它得到了一些不同的变量:
pre-<command>
之前执行所述相关 命令运行。命令 行的内容作为$ HG_ARGS传递。解析 命令行参数作为 $ HG_PATS和$ HG_OPTS通过。这些包含数据的 字符串表示 内部传递。 $ HG_OPTS是选项 (均设置为默认 未指定选项)的字典。 $ HG_PATS是一个 参数的列表。如果挂钩返回 失败,则该命令不会执行 ,并且Mercurial返回失败 的代码。
所以做一个pre-commit
挂钩代替,并检查这些变量。
你从那里得到了什么'man'页面或其他文档? – gvkv 2010-10-04 18:52:20
从'hgrc'手册页:http://www.selenic.com/mercurial/hgrc.5.html – 2010-10-04 19:03:51