completion: complete some 'git log' options
PATCH 1/1 completion: complete some 'git log' options
From: KIYOTA Fumiya <[email protected]>
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.
---
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(-)
contrib/completion/git-completion.bash +3 -2
@@ -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
Signature · 1 line
gitgitgadget
Quoted 4 lines · KIYOTA Fumiya via GitGitGadget
From: KIYOTA Fumiya <[email protected]>
1. '--exclude=' option to 'git log' and 'git shortlog' are missing. Add the option to
__git_log_shortlog_options.
Nice.
Quoted 4 lines
2. The
--committeroption ingit logrequires a pattern, such as--committer=ba, but ingit 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.
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.
Quoted 52 lines
Signed-off-by KIYOTA Fumiya <[email protected]>---
completion: complete some 'git log' options1. '--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/2073contrib/completion/git-completion.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)contrib/completion/git-completion.bash +3
-2@@ -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
Quoted 18 lines
2025/10/20 1:07、Junio C Hamano <[email protected]>のメール:
Quoted 4 lines · KIYOTA Fumiya via GitGitGadget
From: KIYOTA Fumiya <[email protected]>
1. '--exclude=' option to 'git log' and 'git shortlog' are missing. Add the option to
__git_log_shortlog_options.Nice.
Quoted 4 lines
2. The
--committeroption ingit logrequires a pattern, such as--committer=ba, but ingit 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.
Quoted 4 lines
"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.
Quoted 9 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.
Quoted 55 lines
Quoted 54 lines
Signed-off-by KIYOTA Fumiya <[email protected]>---
completion: complete some 'git log' options1. '--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/2073contrib/completion/git-completion.bash | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)contrib/completion/git-completion.bash +0
-0@@ -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 showcontrib/completion/git-completion.bash +0
-0@@ -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=contrib/completion/git-completion.bash +0
-0@@ -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
PATCH v2 1/1 completion: complete some 'git log' options
In reply to KIYOTA Fumiya via GitGitGadgetFrom: KIYOTA Fumiya <[email protected]>
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.” Handle them as separate options for completion rather than a shared one.
---
completion: complete some 'git log' options
Change since v1:
* Make the commit message follow the Git project’s style.
v1:
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-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2073/FKbelm/logCompletion-v2
Pull-Request: https://github.com/git/git/pull/2073
Range-diff vs v1:
1: 2887b0e6c9 ! 1: d8edd3653a completion: complete some 'git log' options
@@ Commit message
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.
+ an error: “error: option `committer' takes no value.” Handle them as
+ separate options for completion rather than a shared one.
contrib/completion/git-completion.bash | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
contrib/completion/git-completion.bash +3 -2
@@ -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
Signature · 1 line
gitgitgadget
[jc: removed these entries from CC list, as my reviews on v1 bounced
Revi Ewer <[email protected]>,
Ill Takalook <[email protected]>,
]
Quoted 3 lines · KIYOTA Fumiya via GitGitGadget
Change since v1:
* Make the commit message follow the Git project’s style.
Will queue. Thanks.