2

在 Mercurial API 中,是否有任何方法可以读取与您通过 HTTPS 访问的存储库关联的配置值?存储库的ui对象似乎没有容纳它们。

4

1 回答 1

4

最简洁的答案是不”。无法使用 Mercurial API 通过 HTTP 从存储库中读取配置值。这些值永远不会通过网络传输。更详细的解释如下。


该类ui.ui()提供对系统、用户和本地存储库配置值的访问。

>>> from mercurial import hg, ui
>>> u = ui.ui()
>>> u.configlist('ui', 'username')
['Your', 'Name', '<your@email.com>']

存储库对象的构造函数需要提供一个ui对象和一个path

来自的值ui被复制到 repo 对象中。

如果path是本地存储库,则该存储库的配置设置可以通过repo.ui. 但是,如果path是 URL,API 不会查询远程服务器的配置设置。在这种情况下,repo.ui仅包括系统和用户设置。

>>> repo = hg.repository(ui.ui(), '.')
>>> repo.ui.configlist('paths', 'default')
['https://www.mercurial-scm.org/repo/hg']

... start an hg serve session at http://localhost:8000 ...

>>> repo = hg.repository(ui.ui(), 'http://localhost:8000')
>>> repo.ui.configlist('paths', 'default')
[]
于 2012-06-08T17:59:10.440 回答