2011-01-05 31 views
3

系統級別的hgrc文件(在/etc/mercurial<install-root>/etc/mercurial)顯然是平臺相關的,但我如何在每個用戶的基礎上使用平臺相關的hgrc?在mercurial中,如何設置和使用每個用戶平臺相關的hgrc?

用例是重寫特定平臺上的系統配置。例如,我們在linux和solaris上有不同的合併工具。當hgrc不允許任何控制邏輯(如if os.uname()[0] == 'SunOS')時,我如何覆蓋solaris合併工具?

回答

4
  1. 保留一組.<platform>.hgrc文件,其中包含任何想要在每個文件中覆蓋的文件。
  2. .bashrc設置環境變量:

    export PLATFORM=`python -c 'import os; print os.uname()[0],'` 
    
  3. 在你~/.hgrc文件,使用%include末,包括正確的文件:

    %include ~/$PLATFORM.hgrc 
    
+0

'$ PLATFORM'是正是我需要的。我應該從man hgrc中看到它:「環境變量和〜用戶結構在文件中被擴展,這可以讓你執行如下操作:'%include〜/ .hgrc.d/$ HOST.rc' 包含一個不同的配置文件在您使用的每臺計算機上。「謝謝你,優雅的洛什先生! – 2011-01-06 03:02:42

+0

是否有內置選項來設置不同遙控器的設置?這種方法可行,但我不喜歡它。這個評論並不打算開始一場戰鬥,我認爲這是一個解決方案,但我更希望這個設置由Mercurial配置文件控制,而不必添加任何環境變量。如果你知道某種方式,請告訴我。 – 2012-06-16 06:01:20

相關問題