changeset 11222:e7adcef1504b

Merge with stable
author Martin Geisler <mg@lazybytes.net>
date Tue, 25 May 2010 18:45:44 +0200
parents 39a7f69a0a9a (current diff) e655b378ce73 (diff)
children 0d09f2244805
files doc/hgrc.5.txt
diffstat 1 files changed, 41 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/doc/hgrc.5.txt	Tue May 25 09:57:19 2010 +0200
+++ b/doc/hgrc.5.txt	Tue May 25 18:45:44 2010 +0200
@@ -90,7 +90,8 @@
 ------
 
 A configuration file consists of sections, led by a ``[section]`` header
-and followed by ``name = value`` entries::
+and followed by ``name = value`` entries (sometimes called
+``configuration keys``)::
 
     [spam]
     eggs=ham
@@ -102,6 +103,45 @@
 removed from values. Empty lines are skipped. Lines beginning with
 ``#`` or ``;`` are ignored and may be used to provide comments.
 
+Configuration keys can be set multiple times, in which case mercurial
+will use the value that was configured last. As an example::
+
+    [spam]
+    eggs=large
+    ham=serrano
+    eggs=small
+
+This would set the configuration key named ``eggs`` to ``small``.
+
+It is also possible to define a section multiple times. A section can
+be redefined on the same and/or on different hgrc files. For example::
+
+    [foo]
+    eggs=large
+    ham=serrano
+    eggs=small
+
+    [bar]
+    eggs=ham
+    green=
+       eggs
+
+    [foo]
+    ham=prosciutto
+    eggs=medium
+    bread=toasted
+
+This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
+of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
+respectively. As you can see there only thing that matters is the last
+value that was set for each of the configuration keys.
+
+If a configuration key is set multiple times in different
+configuration files the final value will depend on the order in which
+the different configuration files are read, with settings from earlier
+paths overriding later ones as described on the ``Files`` section
+above.
+
 A line of the form ``%include file`` will include ``file`` into the
 current configuration file. The inclusion is recursive, which means
 that included files can include other files. Filenames are relative to