1

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、内部にカスタム コマンドがないことがわかります。

カスタム コマンドを取得して拡張するにはどうすればよいですか?

4

1 に答える 1

1

「Writing Mercurial Extensions」によると:

extsetup の後、cmdtable は Mercurial のグローバル コマンド テーブルにコピーされます。

したがって、拡張機能cmdtable自体のコマンドを変更する必要があります。少しハックですが、今のところ機能します。

from hgext import convert

def extsetup(ui):
    entry = extensions.wrapcommand(convert.cmdtable, 'convert', convert_cmd)
    entry[1].append(('', 'test', None, _("test option")))
于 2016-02-20T11:22:44.917 に答える