Mercurial的HGRCPATH是否覆盖用户级别.hgrc或安装级别配置文件?

时间:2011-04-02 01:47:17

标签: mercurial tortoisehg

我的理解:Mercurial有三个级别的配置文件:一个是所有用户共享的(安装级别),每个用户都有一个覆盖(用户级别),每个存储库都有一个覆盖(repo级别)。

HGRCPATH环境变量似乎覆盖了第二级,即Windows中 users/<user&gt; 目录中的第二级。

但是在TortoiseHG的设置屏幕中,它指的是(并允许直接编辑) users/<user&gt; 目录中的用户级配置文件,即使被HGRCPATH覆盖也是如此。快速实验表明,TortoiseHG确实使用了HGRCPATH设置的,而不是它所指示的那个。

这是Tortoise的错误还是我对HGRCPATH的理解有缺陷?

2 个答案:

答案 0 :(得分:4)

是的,这一定是TortoiseHg的一个缺陷。 hg help environment帮助文本说HGRCPATH用于覆盖配置文件的默认搜索路径。这包括~/.hgrc,可让您快速停用用户设置:

$ HGRCPATH= hg log  # <- only read .hg/hgrc, ignore all other config files

你不能让Mercurial跳过阅读.hg/hgrc

答案 1 :(得分:3)

Mercurial手册页中的描述听起来好像是设置了HGRCPATH,然后系统范围的文件(linux上的/etc/mercurial/hgrc)和每用户文件都被忽略,但是$(hg root)/.hg/hgrc文件仍然咨询。这是我在tortoisehg以外的经历。

我不希望tortoisehg GUI不显示hgrc命令没有调用,只是为了不接受他们的设置。这就是你所看到的吗?

http://www.selenic.com/mercurial/hg.1.html