I'm working on an extension which includes a pre-commit hook. I'd like to be able to receive a new option within my hook. However, if I add it using the cmdtable example from the documentation, substituting a reference to the existing commit command, it just overwrites the built-in options. What is the right way to do this?

有帮助吗?

解决方案

This is possible by using 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')))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top