忽略 mercurial 钩子中的某些 mercurial 命令

bir*_*rth 5 python mercurial hook mercurial-hook

我有一个像这样的 mercurial 钩子:

[hooks]
pretxncommit.myhook = python:path/to/file:myhook
Run Code Online (Sandbox Code Playgroud)

代码如下所示:

def myhook(ui, repo, **kwargs):
    #do some stuff
Run Code Online (Sandbox Code Playgroud)

但是这个钩子在使用提交逻辑做其他事情的命令上运行,在我的例子中hg shelve。有没有办法获取用户输入的命令以避免在该命令上运行挂钩?

也许是这样的:

def myhook(ui, repo, command, **kwargs):
      if command is "hg shelve"
           return 0
      #do some stuff
Run Code Online (Sandbox Code Playgroud)