[英]How to extend another extension's command in Hg?
我想向hg convert
命令添加附加選項,該命令由內部擴展hgext.convert
。
我嘗試在__init__.py
執行以下操作:
def extsetup(ui):
entry = extensions.wrapcommand(commands.table, 'convert', convert_cmd)
entry[1].append(('', 'test', None, _("test option")))
def convert_cmd(...): ...
但是在啟用擴展並運行正確的hg convert --test
,出現以下錯誤:
hg: unknown command 'convert'
(did you mean one of clone, recover, revert?)
如果我打印commands.table
的鍵,我可以看到里面沒有自定義命令。
如何獲取和擴展自定義命令?
根據“書面Mercurial擴展名” :
extsetup之后,將cmdtable復制到Mercurial中的全局命令表中。
因此,我需要在擴展程序的cmdtable
自身內部修改命令。 這有點hacky,但現在可以使用:
from hgext import convert
def extsetup(ui):
entry = extensions.wrapcommand(convert.cmdtable, 'convert', convert_cmd)
entry[1].append(('', 'test', None, _("test option")))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.