Merge branch 'jk/maint-config-multi-order'
authorJunio C Hamano <gitster@pobox.com>
Fri, 12 Jul 2013 19:04:04 +0000 (12:04 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 12 Jul 2013 19:04:04 +0000 (12:04 -0700)
* jk/maint-config-multi-order:
git-config(1): clarify precedence of multiple values

1  2 
Documentation/git-config.txt
index fbad05e46f1781e26955c2d5f66031500265fc0e,e60b7b6f100e359b190300877dc747aa6088a3c9..99dc497b6f25243dbe01ce47d6e53ec6952d1737
@@@ -82,7 -82,7 +82,7 @@@ OPTION
  --get::
        Get the value for a given key (optionally filtered by a regex
        matching the value). Returns error code 1 if the key was not
 -      found and error code 2 if multiple key values were found.
 +      found and the last value if multiple key values were found.
  
  --get-all::
        Like get, but does not fail if the number of values for the key
@@@ -114,15 -114,6 +114,15 @@@ rather than from all available files
  +
  See also <<FILES>>.
  
 +--local::
 +      For writing options: write to the repository .git/config file.
 +      This is the default behavior.
 ++
 +For reading options: read only from the repository .git/config rather than
 +from all available files.
 ++
 +See also <<FILES>>.
 +
  -f config-file::
  --file config-file::
        Use the given config file instead of the one specified by GIT_CONFIG.
@@@ -206,12 -197,8 +206,8 @@@ FILE
  If not set explicitly with '--file', there are four files where
  'git config' will search for configuration options:
  
- $GIT_DIR/config::
-       Repository specific configuration file.
- ~/.gitconfig::
-       User-specific configuration file. Also called "global"
-       configuration file.
+ $(prefix)/etc/gitconfig::
+       System-wide configuration file.
  
  $XDG_CONFIG_HOME/git/config::
        Second user-specific configuration file. If $XDG_CONFIG_HOME is not set
        you sometimes use older versions of Git, as support for this
        file was added fairly recently.
  
- $(prefix)/etc/gitconfig::
-       System-wide configuration file.
+ ~/.gitconfig::
+       User-specific configuration file. Also called "global"
+       configuration file.
+ $GIT_DIR/config::
+       Repository specific configuration file.
  
  If no further options are given, all reading options will read all of these
  files that are available. If the global or the system-wide configuration
@@@ -230,6 -221,10 +230,10 @@@ file are not available they will be ign
  file is not available or readable, 'git config' will exit with a non-zero
  error code. However, in neither case will an error message be issued.
  
+ The files are read in the order given above, with last value found taking
+ precedence over values read earlier.  When multiple values are taken then all
+ values of a key from all files will be used.
  All writing options will per default write to the repository specific
  configuration file. Note that this also affects options like '--replace-all'
  and '--unset'. *'git config' will only ever change one file at a time*.