在Mercurial API中,有没有办法读取与您通过HTTPS访问的存储库关联的配置值?存储库的ui
对象似乎没有它们。
答案 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')
[]