Re: [PATCH] completion: complete some 'git log' options
Show 20 quoted lines
> 2025/10/20 1:07、Junio C Hamano <gitster@pobox.com>のメール:
>
> "KIYOTA Fumiya via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
>> From: KIYOTA Fumiya <aimluck.kiyota@gmail.com>
>>
>> 1. '--exclude=' option to 'git log' and 'git shortlog' are missing. Add the
>> option to __git_log_shortlog_options.
>
> Nice.
>
>> 2. The `--committer` option in `git log` requires a pattern, such as
>> `--committer=ba`, but in `git shortlog`, specifying a pattern results in
>> an error: “error: option `committer' takes no value.” Therefore, I’ll
>> handle them as separate options for completion rather than a shared one.
>
> "Therefore, I'll h" -> "H" then the result matches the previous one
> to describe the solution as if you are giving an order to somebody
> sitting at the keyboard and making the changes for you, which is the
> style this project uses.
Thanks, I'll update the commit message.
Show 9 quoted lines
> Very good observation to notice the latter issue. Has it been
> raised as a bug that shortlog uses --committer in a way inconsistent
> with the rest of the log family of commands? Perhaps people often
> do not limit shortlog by committers like they limit by authors, but
> "group by committer" that is squatting on an option that users would
> expect to be used for "limit to a given committer" does sound like a
> small UI glitch to me.
>
> Will queue. Thanks.
I’m not sure whether this is a known issue, but for now, I think it’s best to align with the current implementation (i.e., as in this patch) and add completion for 'git shortlog —exclude=' later when the bug is fixed.
Show 55 quoted lines
>
>
>> Signed-off-by: KIYOTA Fumiya <aimluck.kiyota@gmail.com>
>> ---
>> completion: complete some 'git log' options
>>
>> 1. '--exclude=' option to 'git log' and 'git shortlog' are missing. Add
>> the option to __git_log_shortlog_options.
>>
>> 2. The --committer option in git log requires a pattern, such as
>> --committer=ba, but in git shortlog, specifying a pattern results in
>> an error: “error: option `committer' takes no value.” Therefore,
>> I’ll handle them as separate options for completion rather than a
>> shared one.
>>
>> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2073%2FFKbelm%2FlogCompletion-v1
>> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2073/FKbelm/logCompletion-v1
>> Pull-Request: https://github.com/git/git/pull/2073
>>
>> contrib/completion/git-completion.bash | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
>> index e3d88b0672..73abea31b4 100644
>> --- a/contrib/completion/git-completion.bash
>> +++ b/contrib/completion/git-completion.bash
>> @@ -2218,7 +2218,7 @@ __git_log_gitk_options="
>> "
>> # Options that go well for log and shortlog (not gitk)
>> __git_log_shortlog_options="
>> - --author= --committer= --grep=
>> + --author= --grep= --exclude=
>> --all-match --invert-grep
>> "
>> # Options accepted by log and show
>> @@ -2296,6 +2296,7 @@ __git_complete_log_opts ()
>> $__git_log_shortlog_options
>> $__git_log_gitk_options
>> $__git_log_show_options
>> + --committer=
>> --root --topo-order --date-order --reverse
>> --follow --full-diff
>> --abbrev-commit --no-abbrev-commit --abbrev=
>> @@ -3229,7 +3230,7 @@ _git_shortlog ()
>> __gitcomp "
>> $__git_log_common_options
>> $__git_log_shortlog_options
>> - --numbered --summary --email
>> + --committer --numbered --summary --email
>> "
>> return
>> ;;
>>
>> base-commit: 4253630c6f07a4bdcc9aa62a50e26a4d466219d1
>