From: John Keeping <john@keeping.me.uk>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>
Subject: [PATCH] git-config(1): clarify precedence of multiple values
Date: Sun, 7 Jul 2013 20:49:56 +0100 [thread overview]
Message-ID: <20130707194956.GU9161@serenity.lan> (raw)
In-Reply-To: <7v38rq5lad.fsf@alter.siamese.dyndns.org>
In order to clarify which value is used when there are multiple values
defined for a key, re-order the list of file locations so that it runs
from least specific to most specific. Then add a paragraph which simply
says that the last value will be used.
Signed-off-by: John Keeping <john@keeping.me.uk>
---
On Sun, Jul 07, 2013 at 10:31:38AM -0700, Junio C Hamano wrote:
> John Keeping <john@keeping.me.uk> writes:
>
> >> I wondered if we should explain the significance of "last" a bit
> >> more (like "this results in the value from the most specific
> >> configuration file to be used, the ones in $GIT_DIR/config
> >> overriding what is in $HOME/.gitconfig"), but I do not have a strong
> >> opinion either way. Let's queue this for 'maint' for now.
> >
> > I don't think that change belongs here. How about doing something like
> > this in the FILES section (the first two hunks are just reordering the
> > existing list, only the last hunk changes the content):
>
> Sounds like a good change to me ;-).
So here it is as a proper patch :-)
Documentation/git-config.txt | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index fbad05e..99dc497 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -206,12 +206,8 @@ FILES
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
@@ -221,8 +217,12 @@ $XDG_CONFIG_HOME/git/config::
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 +230,10 @@ file are not available they will be ignored. If the repository configuration
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*.
--
1.8.3.2.855.gbc9faed
next prev parent reply other threads:[~2013-07-07 19:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-03 18:27 [PATCH] git-config: update doc for --get with multiple values John Keeping
2013-07-03 18:32 ` Jeff King
2013-07-03 18:47 ` Junio C Hamano
2013-07-07 9:50 ` John Keeping
2013-07-07 17:31 ` Junio C Hamano
2013-07-07 19:49 ` John Keeping [this message]
2013-07-07 19:55 ` [PATCH] git-config(1): clarify precedence of " Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130707194956.GU9161@serenity.lan \
--to=john@keeping.me.uk \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).