Re: [PATCH] git-config: update doc for --get with multiple values

2013-07-07 Thread John Keeping
On Wed, Jul 03, 2013 at 11:47:50AM -0700, Junio C Hamano wrote:
 John Keeping j...@keeping.me.uk writes:
 
  Since commit 00b347d (git-config: do not complain about duplicate
  entries, 2012-10-23), git config --get does not exit with an error if
  there are multiple values for the specified key but instead returns the
  last value.  Update the documentation to reflect this.
 
  Signed-off-by: John Keeping j...@keeping.me.uk
  ---
   Documentation/git-config.txt | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
 
  diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
  index 19a7be0..fbad05e 100644
  --- a/Documentation/git-config.txt
  +++ b/Documentation/git-config.txt
  @@ -82,7 +82,7 @@ OPTIONS
   --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
 
 Thanks.
 
 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):

-- 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*.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] git-config: update doc for --get with multiple values

2013-07-03 Thread Jeff King
On Wed, Jul 03, 2013 at 07:27:39PM +0100, John Keeping wrote:

 Since commit 00b347d (git-config: do not complain about duplicate
 entries, 2012-10-23), git config --get does not exit with an error if
 there are multiple values for the specified key but instead returns the
 last value.  Update the documentation to reflect this.

Thanks for catching this. Patch looks good.

There is another section later in the documentation which details the
various exit codes and what they mean. But it seems to have never
actually documented this case, so we don't need to update it. :)

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] git-config: update doc for --get with multiple values

2013-07-03 Thread Junio C Hamano
John Keeping j...@keeping.me.uk writes:

 Since commit 00b347d (git-config: do not complain about duplicate
 entries, 2012-10-23), git config --get does not exit with an error if
 there are multiple values for the specified key but instead returns the
 last value.  Update the documentation to reflect this.

 Signed-off-by: John Keeping j...@keeping.me.uk
 ---
  Documentation/git-config.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
 index 19a7be0..fbad05e 100644
 --- a/Documentation/git-config.txt
 +++ b/Documentation/git-config.txt
 @@ -82,7 +82,7 @@ OPTIONS
  --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

Thanks.

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.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html