Mercurial API:通过https读取配置

时间:2012-06-08 16:42:38

标签: mercurial mercurial-api

在Mercurial API中,有没有办法读取与您通过HTTPS访问的存储库关联的配置值?存储库的ui对象似乎没有它们。

1 个答案:

答案 0 :(得分:4)

简短的回答是“不”。无法使用Mercurial API从HTTP上的repo读取配置值。这些值永远不会通过网络传输。以下是更详细的解释。


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')
[]