有没有办法检查〜/ .hgrc文件中的hg版本?

时间:2014-02-13 03:17:00

标签: mercurial

在我的〜/ .hgrc文件中设置特定设置之前,我可以检查mercurial的版本吗?例如,我想启用扩展(比如搁置扩展),但仅当hg版本是特定版本(例如2.8或更高版本)时。当一个人的主目录在安装了各种版本的hg的许多机器上共享(想想nfs)时,这一点特别有用。

2 个答案:

答案 0 :(得分:5)

这是一个有趣的。 hgrc格式没有条件,但包含行中有可变扩展,因此您可以将其放在.bash_profile中:

HG_VERSION=$(python -c 'from mercurial.__version__ import version; print version')

然后在你的~/.hgrc中有类似的内容:

%include ~/.hgrc-$HG_VERSION

其中包含~/.hgrc-2.6.2

等文件

为避免错误,您运行的每个版本都需要一个可能为空的文件,并且您可以使用bash-fu来修剪次要版本以获得一点灵活性。但它仍然不会让你获得更大的功能。

更常见的方法是使用include机制来包含主机或操作系统特定的hgrc文件,如:

%include ~/.hgrc-$HOST

允许您添加仅在某些主机上运行的位。

答案 1 :(得分:2)

你也可以通过检查.bashrc中的hg版本并相应地设置HGRCPATH变量来让hg读取不同的hgrc文件;见Mercurial .hgrc file