gpt4 book ai didi

python - 如何在 Hg 中扩展另一个扩展的命令?

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:43 24 4
gpt4 key购买 nike

我想向 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的键,我可以看到里面没有自定义命令。

如何获取和扩展自定义命令?

最佳答案

根据"Writing Mercurial Extensions" :

After extsetup, the cmdtable is copied into the global command table in 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")))

关于python - 如何在 Hg 中扩展另一个扩展的命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35522343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com