如何向Mercurial扩展中的现有命令添加命令选项?

时间:2011-10-21 19:42:31

标签: python mercurial mercurial-extension

我正在进行包含预提交挂钩的扩展。我希望能够在我的钩子中收到一个新选项。但是,如果我使用cmdtable example from the documentation添加它,替换对现有commit命令的引用,它只会覆盖内置选项。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

可以使用extensions.wrapcommand

来实现
def commit(originalcommit, ui, repo, **opts):
    return originalcommit(ui, repo, **opts)

def uisetup(ui):    
    entry = extensions.wrapcommand(commands.table, "commit", commit)
    entry[1].append(('', 'newcommitoption', None, ('Description for the new commit option')))