Read global config file /etc/mercurial/hgrc and fix reading hgrc on Windows.
authorThomas Arendsen Hein <thomas@intevation.de>
Thu, 18 Aug 2005 21:35:36 +0100
changeset 951 859de3ebc041
parent 950 fbaf0380efd1
child 952 dbfabfcb485e
Read global config file /etc/mercurial/hgrc and fix reading hgrc on Windows.
doc/hg.1.txt
doc/hgrc.5.txt
mercurial/ui.py
--- a/doc/hg.1.txt	Thu Aug 18 13:55:45 2005 +0100
+++ b/doc/hg.1.txt	Thu Aug 18 21:35:36 2005 +0100
@@ -273,9 +273,8 @@
     Show definition of symbolic path name NAME. If no name is given, show
     definition of available names.
 
-    Path names are defined in the [paths] section of the $HOME/.hgrc and
-    <repo>/.hg/hgrc configuration files. If run outside a repo, 'paths'
-    queries only $HOME/.hgrc.
+    Path names are defined in the [paths] section of /etc/mercurial/hgrc
+    and $HOME/.hgrc.  If run inside a repository, .hg/hgrc is used, too.
 
 pull <repository path>::
     Pull changes from a remote repository to a local one.
@@ -589,10 +588,11 @@
     seperated by spaces) that correspond to tagged versions of the repository
     contents.
 
- $HOME/.hgrc, .hg/hgrc::
+ /etc/mercurial/hgrc, $HOME/.hgrc, .hg/hgrc::
     This file contains defaults and configuration. Values in .hg/hgrc
-    override those in .hgrc.  See hgrc(5) for details of the contents
-    and format of these files.
+    override those in $HOME/.hgrc, and these override settings made in the
+    global /etc/mercurial/hgrc configuration.  See hgrc(5) for details of
+    the contents and format of these files.
 
 BUGS
 ----
--- a/doc/hgrc.5.txt	Thu Aug 18 13:55:45 2005 +0100
+++ b/doc/hgrc.5.txt	Thu Aug 18 21:35:36 2005 +0100
@@ -15,17 +15,22 @@
 FILES
 -----
 
-Mercurial reads configuration data from two files:
+Mercurial reads configuration data from three files:
+
+/etc/mercurial/hgrc::
+    Options in this global configuration file apply to all Mercurial
+    commands executed by any user in any directory.
 
 $HOME/.hgrc::
-    Global configuration options that apply to all Mercurial commands,
-    no matter where they are run.
+    Per-user configuration options that apply to all Mercurial commands,
+    no matter from which directory they are run.  Values in this file
+    override global settings.
 
 <repo>/.hg/hgrc::
     Per-repository configuration options that only apply in a
     particular repository.  This file is not version-controlled, and
     will not get transferred during a "clone" operation.  Values in
-    this file override global values.
+    this file override global and per-user settings.
 
 SYNTAX
 ------
--- a/mercurial/ui.py	Thu Aug 18 13:55:45 2005 +0100
+++ b/mercurial/ui.py	Thu Aug 18 21:35:36 2005 +0100
@@ -13,7 +13,8 @@
     def __init__(self, verbose=False, debug=False, quiet=False,
                  interactive=True):
         self.cdata = ConfigParser.SafeConfigParser()
-        self.cdata.read(os.path.expanduser("~/.hgrc"))
+        self.cdata.read([os.path.normpath(hgrc) for hgrc in
+                         "/etc/mercurial/hgrc", os.path.expanduser("~/.hgrc")])
 
         self.quiet = self.configbool("ui", "quiet")
         self.verbose = self.configbool("ui", "verbose")