在我的〜/ .hgrc文件中设置特定设置之前,我可以检查mercurial的版本吗?例如,我想启用扩展(比如搁置扩展),但仅当hg版本是特定版本(例如2.8或更高版本)时.当一个人的主目录在安装了各种版本的hg的许多机器上共享(想想nfs)时,这尤其有用.
这是一个有趣的.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)
它允许您添加仅在某些主机上运行的位.