Re: [PATCH] git-config: update doc for --get with multiple values
John Keeping <john@keeping.me.uk> writes:
Show 9 quoted lines
>> 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 ;-).
Show 46 quoted lines
> -- >8 --
> 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*.