Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 在mercurial中,如何设置和使用每用户平台相关的hgrc?_Unix_Mercurial - Fatal编程技术网

Unix 在mercurial中,如何设置和使用每用户平台相关的hgrc?

Unix 在mercurial中,如何设置和使用每用户平台相关的hgrc?,unix,mercurial,Unix,Mercurial,系统级hgrc文件(在/etc/mercurial和/etc/mercurial中)显然依赖于平台,但我如何在每个用户的基础上使用依赖于平台的hgrc 用例是覆盖特定平台上的系统配置。例如,我们在linux和solaris上使用了hg和不同的合并工具。当hgrc不允许任何控制逻辑(如if os.uname()[0]==“SunOS”)时,如何仅覆盖solaris合并工具 保留一组.hgrc文件,每个文件中包含您想要覆盖的内容 在.bashrc中设置环境变量: export PLATFORM=`p

系统级hgrc文件(在
/etc/mercurial
/etc/mercurial
中)显然依赖于平台,但我如何在每个用户的基础上使用依赖于平台的hgrc

用例是覆盖特定平台上的系统配置。例如,我们在linux和solaris上使用了hg和不同的合并工具。当hgrc不允许任何控制逻辑(如
if os.uname()[0]==“SunOS”
)时,如何仅覆盖solaris合并工具

  • 保留一组
    .hgrc
    文件,每个文件中包含您想要覆盖的内容
  • .bashrc
    中设置环境变量:

    export PLATFORM=`python -c 'import os; print os.uname()[0],'`
    
  • ~/.hgrc
    文件中,在末尾使用
    %include
    以包含正确的文件:

    %include ~/$PLATFORM.hgrc
    

  • $PLATFORM
    正是我需要的。我应该在man hgrc中看到它:“环境变量和~user构造在文件中展开。这允许您执行类似于:
    %include~/.hgrc.d/$HOST.rc
    的操作,以便在您使用的每台计算机上包含不同的配置文件。”谢谢您,优雅的Losh先生!是否有一个内置选项来设置不同遥控器的设置?这个方法行得通,但我不喜欢。这个评论并不是要挑起争论,我认为这是一个解决方案,但我更希望这个设置由Mercurial配置文件控制,而不必添加任何环境变量。如果你知道路,请告诉我。