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

Jua*_*uan 5 mercurial

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

Ry4*_*ase 5

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

HG_VERSION=$(python -c 'from mercurial.__version__ import version; print version')
Run Code Online (Sandbox Code Playgroud)

然后在你的~/.hgrc东西有:

%include ~/.hgrc-$HG_VERSION
Run Code Online (Sandbox Code Playgroud)

其中包括一个文件, ~/.hgrc-2.6.2

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

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

%include ~/.hgrc-$HOST
Run Code Online (Sandbox Code Playgroud)

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