From: 清田郁弥 Date: Mon, 20 Oct 2025 17:27:35 GMT Subject: Re: [PATCH] completion: complete some 'git log' options Message-ID: In-Reply-To: > 2025/10/20 1:07、Junio C Hamano のメール: > > "KIYOTA Fumiya via GitGitGadget" writes: > >> From: KIYOTA Fumiya >> >> 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. > 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. > > >> Signed-off-by: KIYOTA Fumiya >> --- >> 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 >