在扩展Mercurial时使用--quiet标记

7 投票
1 回答
669 浏览
提问于 2025-04-16 06:27

我正在用Python写一个Mercurial的扩展,想通过Mercurial API来调用“Pull”命令,但我想用--quiet这个选项来抑制输出。

在Hg的术语中,我想在我的扩展里执行以下代码:

hg pull --quiet

根据Mercurial API的文档,我以为这会很简单:

commands.pull(ui, repo, quiet=True)

可惜的是,虽然这段代码没有报错,并且能成功执行“Pull”命令,但--quiet这个选项似乎没有生效,因为我还是看到了标准输出的信息。

所有的例子只展示了如何传递非全局的选项,所以我有点担心这可能做不到。

我哪里做错了?我该如何传递--quiet这个选项呢?

1 个回答

8

全局选项是通过一个叫做ui的对象来设置的。这个对象让你可以控制很多通常会在你的(或者仓库的)hgrc文件中设置的内容。在这个情况下,你想要把ui部分的quiet选项设置为True,也就是开启静默模式。

ui.setconfig('ui', 'quiet', True)
commands.pull(ui, repo)

撰写回答