2011-10-21 1 views
1

나는 커밋 (pre-commit) 훅 (pre-commit hook)을 포함하는 확장 기능을 연구 중이다. 내가 원하는대로 새로운 옵션을 제공하고 싶습니다. 그러나 기존 커밋 명령에 대한 참조를 대체하여 cmdtable example from the documentation을 사용하여 추가하면 기본 제공 옵션을 덮어 씁니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?Mercurial 확장의 기존 명령에 명령 옵션을 추가하려면 어떻게합니까?

답변

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'))) 
관련 문제