Как добавить параметр команды к существующей команде в расширении Mercurial?

Я работаю над расширением, которое включает в себя хук pre-commit. Я хотел бы иметь возможность получить новую опцию в моем хуке. Однако, если я добавлю его с помощью примера cmdtable из документации, подставив ссылку на существующую команду commit, он просто перезапишет встроенные параметры. Как правильно это сделать?

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')))
Другие вопросы по тегам