threads / patch / 55807

patchdescribe-doc:fix a obscure error description in the git log documentation

Subject: [PATCH] describe-doc:fix a obscure error description in the git log documentation

## tl;dr

8 messages between May 31, 2021 and Jun 8, 2021. Diffs are folded; open one to read it.

replies: 7people: 4as markdown or json

Andy AO via GitGitGadget· May 31, 2021, 06:00 UTC · lore
From: zen96285 <zen96285@gmail.com>
The git log documentation says "The default option is 'short'." This is wrong. After testing, the default value of '--decorate' is 'auto', not 'short'.
There is no difference between 'auto' and 'short' in terminal, but there is a significant difference in how they behave in the shell.The information generated by the 'short' can be saved in shell variables, while the 'auto' can't.
Signed-off-by: AndyAo Zen96285@gmail.com
---
    describe-doc:fix a obscure error description in the git log documenta…
    
    The git log documentation says "The default option is 'short'." This is
    wrong. After testing, the default value of '--decorate' is 'auto', not
    'short'.
    
    There is no difference between 'auto' and 'short' in terminal, but there
    is a significant difference in how they behave in the shell.The
    information generated by the 'short' can be saved in shell variables,
    while the 'auto' can't.
    
    Signed-off-by: AndyAo Zen96285@gmail.com
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1030%2FAndy-AO%2Ffix_a_obscure_error_description_in_the_git_log_documentation-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1030/Andy-AO/fix_a_obscure_error_description_in_the_git_log_documentation-v1
Pull-Request: https://github.com/git/git/pull/1030
 Documentation/git-log.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to Documentation/git-log.txt +1 −1
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 1bbf865a1b2d..37a4694b060a 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -39,7 +39,7 @@ OPTIONS
 	full ref name (including prefix) will be printed. If 'auto' is
 	specified, then if the output is going to a terminal, the ref names
 	are shown as if 'short' were given, otherwise no ref names are
-	shown. The default option is 'short'.
+	shown. The default option is 'auto'.
 
 --decorate-refs=<pattern>::
 --decorate-refs-exclude=<pattern>::

base-commit: 4e42405f00ecbbee412846f48cb0253efeebe726
-- 
gitgitgadget
Bagas Sanjaya· May 31, 2021, 06:41 UTC · re: Andy AO via GitGitGadget · lore

Re: [PATCH] describe-doc:fix a obscure error description in the git log documentation

Hi Andy, welcome to Git mailing list!
On 31/05/21 13.00, Andy AO via GitGitGadget wrote:
Show 6 quoted lines
> From: zen96285 <zen96285@gmail.com>
> 
> The git log documentation says "The default option is 'short'." This is wrong. After testing, the default value of '--decorate' is 'auto', not 'short'.
> 
> There is no difference between 'auto' and 'short' in terminal, but there is a significant difference in how they behave in the shell.The information generated by the 'short' can be saved in shell variables, while the 'auto' can't.
> 

Why are info generated with 'short' option (and not 'auto') can be assigned to a variable?

Show 11 quoted lines
> diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
> index 1bbf865a1b2d..37a4694b060a 100644
> --- a/Documentation/git-log.txt
> +++ b/Documentation/git-log.txt
> @@ -39,7 +39,7 @@ OPTIONS
>   	full ref name (including prefix) will be printed. If 'auto' is
>   	specified, then if the output is going to a terminal, the ref names
>   	are shown as if 'short' were given, otherwise no ref names are
> -	shown. The default option is 'short'.
> +	shown. The default option is 'auto'.
>   
Looks OK to me, thanks.
-- 
An old man doll... just what I always wanted! - Clara
Đoàn Trần Công Danh· May 31, 2021, 06:47 UTC · re: Andy AO via GitGitGadget · lore

Re: [PATCH] describe-doc:fix a obscure error description in the git log documentation

On 2021-05-31 06:00:56+0000, Andy AO via GitGitGadget <gitgitgadget@gmail.com> wrote:
Show 5 quoted lines
> From: zen96285 <zen96285@gmail.com>
> 
> The git log documentation says "The default option is 'short'." This is wrong. After testing, the default value of '--decorate' is 'auto', not 'short'.
> 
> There is no difference between 'auto' and 'short' in terminal, but there is a significant difference in how they behave in the shell.The information generated by the 'short' can be saved in shell variables, while the 'auto' can't.

Please use your real name and wrap your commit message at 50 characters for subject line and 72 characters for body.

Let's the commit message aside.

The default option is documented correctly as short. Please check out builtin/log.c:decorate_callback and builtin/log.c:parse_decoration_style.

Below command print nothing in my machine:
	git log --decorate -1 >/tmp/default
	git log --decorate=short -1 >/tmp/short
	cmp /tmp/default /tmp/short

I'm curious about your config and/or command invocation. From the code, I can't guess which scenario that's different.

I think you meant:
	git log -1 >/tmp/no-decorate
In that case, please check your "log.decorate" config.
-- 
Danh
Junio C Hamano· May 31, 2021, 06:57 UTC · re: Đoàn Trần Công Danh · lore

Re: [PATCH] describe-doc:fix a obscure error description in the git log documentation

Đoàn Trần Công Danh  <congdanhqx@gmail.com> writes:
> Please use your real name and wrap your commit message at 50
> characters for subject line and 72 characters for body.
Very good suggestions.  Thanks for raising these issues.
Show 12 quoted lines
> The default option is documented correctly as short.
> Please check out builtin/log.c:decorate_callback and
> builtin/log.c:parse_decoration_style.
>
> Below command print nothing in my machine:
>
> 	git log --decorate -1 >/tmp/default
> 	git log --decorate=short -1 >/tmp/short
> 	cmp /tmp/default /tmp/short
>
> I'm curious about your config and/or command invocation.
> From the code, I can't guess which scenario that's different.

You two are thinking about two "defaults", I think. If a --decorate option you give does not say which kind of decoration you want, by default, you see the short output. The above shows that.

If you do not give any --decorate option, the command behaves as if you gave --decorate=auto, which is what the patch author wanted to say, I think.

> I think you meant:
>
> 	git log -1 >/tmp/no-decorate

Yes, and this (with redirection to file), I think you do not get any decoration---that is what you get from --decorate=auto, i.e.

	git log --decorate=auto -1 >/tmp/auto-decorate

I think the default discussed in the paragraph the patch touches is "what happens if you do not say what kind, i.e. "--decorate" not "--decorate=<what kind>", so "the default is 'short'" is correct, but at the same time, "even if you do not say --decorate, you'll see short decoration when on a terminal" is worth mentioning somewhere.

Đoàn Trần Công Danh· May 31, 2021, 07:18 UTC · re: Junio C Hamano · lore

Re: [PATCH] describe-doc:fix a obscure error description in the git log documentation

On 2021-05-31 15:57:17+0900, Junio C Hamano <gitster@pobox.com> wrote:
Show 14 quoted lines
> > I think you meant:
> >
> > 	git log -1 >/tmp/no-decorate
> 
> Yes, and this (with redirection to file), I think you do not get any
> decoration---that is what you get from --decorate=auto, i.e.
> 
> 	git log --decorate=auto -1 >/tmp/auto-decorate
> 
> I think the default discussed in the paragraph the patch touches is
> "what happens if you do not say what kind, i.e. "--decorate" not
> "--decorate=<what kind>", so "the default is 'short'" is correct,
> but at the same time, "even if you do not say --decorate, you'll see
> short decoration when on a terminal" is worth mentioning somewhere.
I forgot that I have log.decorate configured to 'short'. *facepalm*
I think something like this should be nice.
----8<----
Show changes to Documentation/git-log.txt +3 −1
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 1bbf865a1b..0498e7bacb 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -39,7 +39,9 @@ OPTIONS
 	full ref name (including prefix) will be printed. If 'auto' is
 	specified, then if the output is going to a terminal, the ref names
 	are shown as if 'short' were given, otherwise no ref names are
-	shown. The default option is 'short'.
+	shown. The option `--decorate` is short-hand for `--decorate=short`.
+	Default to configuration value of `log.decorate` if configured,
+	otherwise, `auto`.
 
 --decorate-refs=<pattern>::
 --decorate-refs-exclude=<pattern>::
---->8---------

Andy, feel free to pick this up and re-wording however you like.
-- 
Danh
Bagas Sanjaya· May 31, 2021, 07:49 UTC · re: Đoàn Trần Công Danh · lore

Re: [PATCH] describe-doc:fix a obscure error description in the git log documentation

Hi Đoàn,
On 31/05/21 13.47, Đoàn Trần Công Danh wrote:
Show 9 quoted lines
> On 2021-05-31 06:00:56+0000, Andy AO via GitGitGadget <gitgitgadget@gmail.com> wrote:
>> From: zen96285 <zen96285@gmail.com>
>>
>> The git log documentation says "The default option is 'short'." This is wrong. After testing, the default value of '--decorate' is 'auto', not 'short'.
>>
>> There is no difference between 'auto' and 'short' in terminal, but there is a significant difference in how they behave in the shell.The information generated by the 'short' can be saved in shell variables, while the 'auto' can't.
> 
> Please use your real name and wrap your commit message at 50
> characters for subject line and 72 characters for body.

I think the case here was Andy forwarded this patch from someone, which happened to be also himself. Maybe that From: line above can be removed, unless that he forwarded from other people (in which From: line must be preserved).

-- 
An old man doll... just what I always wanted! - Clara
Đoàn Trần Công Danh· May 31, 2021, 10:00 UTC · re: Bagas Sanjaya · lore

Re: [PATCH] describe-doc:fix a obscure error description in the git log documentation

On 2021-05-31 14:49:32+0700, Bagas Sanjaya <bagasdotme@gmail.com> wrote:
Show 17 quoted lines
> Hi Đoàn,
> 
> On 31/05/21 13.47, Đoàn Trần Công Danh wrote:
> > On 2021-05-31 06:00:56+0000, Andy AO via GitGitGadget <gitgitgadget@gmail.com> wrote:
> > > From: zen96285 <zen96285@gmail.com>
> > > 
> > > The git log documentation says "The default option is 'short'." This is wrong. After testing, the default value of '--decorate' is 'auto', not 'short'.
> > > 
> > > There is no difference between 'auto' and 'short' in terminal, but there is a significant difference in how they behave in the shell.The information generated by the 'short' can be saved in shell variables, while the 'auto' can't.
> > 
> > Please use your real name and wrap your commit message at 50
> > characters for subject line and 72 characters for body.
> 
> I think the case here was Andy forwarded this patch from someone, which
> happened to be also himself. Maybe that From: line above can be removed,
> unless that he forwarded from other people (in which From: line must be
> preserved).

Andy is using GitGitGadget bridge. That bridge uses its own email address (gitgitgadget@gmail.com).

Thus, the identity in the RFC 822's header: "From" should be ignored, and we should use the "From: " line in body instead.

In principle, GitGitGadget will use the Author identity in the commit that was pushed into GitHub to generate such "From: " line. So, it's Andy's resposibility to configure correct core.name and core.email in Andy's machine, and create a commit with correct authorship. Otherwise, GitGitGadget will create above message.

Hope that help.
-- 
Danh
Đoàn Trần Công Danh· Jun 8, 2021, 01:58 UTC · re: Andy AO via GitGitGadget · lore

[PATCH] doc/log: correct default for --decorate

There're two different default options for log --decorate:
* Should `--decorate` be given without any arguments, it's default to
  `short`
* Should neither `--decorate` nor `--no-decorate` be given, it's default
  to the `log.decorate` or `auto`.
We documented the former, but not the latter.
Let's document them, too.
Reported-by: Andy AO <zen96285@gmail.com>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 I'm reluctant to send this out since I would like to see Andy get familiar
 with the list.  However, it's a while since the original patch.
 Documentation/git-log.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Show changes to Documentation/git-log.txt +3 −1
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 1bbf865a1b..0498e7bacb 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -39,7 +39,9 @@ OPTIONS
 	full ref name (including prefix) will be printed. If 'auto' is
 	specified, then if the output is going to a terminal, the ref names
 	are shown as if 'short' were given, otherwise no ref names are
-	shown. The default option is 'short'.
+	shown. The option `--decorate` is short-hand for `--decorate=short`.
+	Default to configuration value of `log.decorate` if configured,
+	otherwise, `auto`.
 
 --decorate-refs=<pattern>::
 --decorate-refs-exclude=<pattern>::
-- 
2.32.0.5.gc7fdd17fde

← back to recent threads