diff --git a/doc/hg.1.txt b/doc/hg.1.txt --- a/doc/hg.1.txt +++ b/doc/hg.1.txt @@ -273,9 +273,8 @@ paths [NAME]:: 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 - /.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 :: Pull changes from a remote repository to a local one. @@ -589,10 +588,11 @@ FILES 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 ---- diff --git a/doc/hgrc.5.txt b/doc/hgrc.5.txt --- a/doc/hgrc.5.txt +++ b/doc/hgrc.5.txt @@ -15,17 +15,22 @@ aspects of its behaviour. 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. /.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 ------ diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -13,7 +13,8 @@ class ui: 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")