From: Britton Leo Kerin <britton.kerin@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Patrick Steinhardt <ps@pks.im>,
Britton Leo Kerin <britton.kerin@gmail.com>
Subject: [PATCH v5 2/7] completion: bisect: complete bad, new, old, and help subcommands
Date: Mon, 5 Feb 2024 17:09:25 -0900 [thread overview]
Message-ID: <20240206020930.312164-3-britton.kerin@gmail.com> (raw)
In-Reply-To: <20240206020930.312164-1-britton.kerin@gmail.com>
The bad, new, old and help subcommands to git-bisect(1) are not
completed.
Add the bad, new, old, and help subcommands to the appropriate lists
such that the commands and their possible ref arguments are completed.
Add tests.
Signed-off-by: Britton Leo Kerin <britton.kerin@gmail.c
---
contrib/completion/git-completion.bash | 4 +-
t/t9902-completion.sh | 71 ++++++++++++++++++++++++++
2 files changed, 73 insertions(+), 2 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 185b47d802..06d0b156e7 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1449,7 +1449,7 @@ _git_bisect ()
{
__git_has_doubledash && return
- local subcommands="start bad good skip reset visualize replay log run"
+ local subcommands="start bad new good old skip reset visualize replay log run help"
local subcommand="$(__git_find_on_cmdline "$subcommands")"
if [ -z "$subcommand" ]; then
__git_find_repo_path
@@ -1462,7 +1462,7 @@ _git_bisect ()
fi
case "$subcommand" in
- bad|good|reset|skip|start)
+ bad|new|good|old|reset|skip|start)
__git_complete_refs
;;
*)
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index a5d4e900a2..7388c892cf 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -1264,6 +1264,77 @@ test_expect_success 'git switch - with no options, complete local branches and u
EOF
'
+test_expect_success 'git bisect - when not bisecting, complete only replay and start subcommands' '
+ test_completion "git bisect " <<-\EOF
+ replay Z
+ start Z
+ EOF
+'
+
+test_expect_success 'setup for git-bisect tests requiring a repo' '
+ git init git-bisect &&
+ (
+ cd git-bisect &&
+ echo "initial contents" >file &&
+ git add file &&
+ git commit -am "Initial commit" &&
+ git tag initial &&
+ echo "new line" >>file &&
+ git commit -am "First change" &&
+ echo "another new line" >>file &&
+ git commit -am "Second change" &&
+ git tag final
+ )
+'
+
+test_expect_success 'git bisect - start subcommand arguments before double-dash are completed as revs' '
+ (
+ cd git-bisect &&
+ test_completion "git bisect start " <<-\EOF
+ HEAD Z
+ final Z
+ initial Z
+ master Z
+ EOF
+ )
+'
+
+# Note that these arguments are <pathspec>s, which in practice the fallback
+# completion (not the git completion) later ends up completing as paths.
+test_expect_success 'git bisect - start subcommand arguments after double-dash are not completed' '
+ (
+ cd git-bisect &&
+ test_completion "git bisect start final initial -- " ""
+ )
+'
+
+test_expect_success 'setup for git-bisect tests requiring ongoing bisection' '
+ (
+ cd git-bisect &&
+ git bisect start --term-new=custom_new --term-old=custom_old final initial
+ )
+'
+
+test_expect_success 'git-bisect - when bisecting all subcommands are candidates' '
+ (
+ cd git-bisect &&
+ test_completion "git bisect " <<-\EOF
+ start Z
+ bad Z
+ new Z
+ good Z
+ old Z
+ skip Z
+ reset Z
+ visualize Z
+ replay Z
+ log Z
+ run Z
+ help Z
+ EOF
+ )
+'
+
test_expect_success 'git checkout - completes refs and unique remote branches for DWIM' '
test_completion "git checkout " <<-\EOF
HEAD Z
--
2.43.0
next prev parent reply other threads:[~2024-02-06 2:09 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-02 19:57 [RFC PATCH 0/6] completion: improvements for git-bisect Britton Leo Kerin
2024-01-10 2:03 ` [PATCH v2 0/5] " Britton Leo Kerin
2024-01-18 20:43 ` [PATCH v3 " Britton Leo Kerin
2024-01-18 20:43 ` [PATCH v3 1/5] completion: complete new old actions, start opts Britton Leo Kerin
2024-01-19 7:04 ` Patrick Steinhardt
2024-01-18 20:43 ` [PATCH v3 2/5] completion: git-log opts to bisect visualize Britton Leo Kerin
2024-01-19 7:04 ` Patrick Steinhardt
2024-01-18 20:43 ` [PATCH v3 3/5] completion: move to maintain define-before-use Britton Leo Kerin
2024-01-19 7:04 ` Patrick Steinhardt
2024-01-18 20:43 ` [PATCH v3 4/5] completion: custom git-bisect terms Britton Leo Kerin
2024-01-19 7:04 ` Patrick Steinhardt
2024-01-18 20:43 ` [PATCH v3 5/5] completion: git-bisect view recognized but not completed Britton Leo Kerin
2024-01-19 7:05 ` Patrick Steinhardt
2024-01-19 7:05 ` [PATCH v3 0/5] completion: improvements for git-bisect Patrick Steinhardt
2024-01-19 18:27 ` Junio C Hamano
2024-01-26 0:23 ` Britton Kerin
2024-01-28 22:34 ` [PATCH v4 0/8] " Britton Leo Kerin
2024-01-28 22:34 ` [PATCH v4 1/8] completion: bisect: complete bad, new, old, and help subcommands Britton Leo Kerin
2024-02-01 9:55 ` Patrick Steinhardt
2024-01-28 22:34 ` [PATCH v4 2/8] completion: bisect: complete custom terms and related options Britton Leo Kerin
2024-02-01 9:55 ` Patrick Steinhardt
2024-01-28 22:34 ` [PATCH v4 3/8] completion: bisect: complete missing --first-parent and --no-checkout options Britton Leo Kerin
2024-01-28 22:34 ` [PATCH v4 4/8] completion: new function __git_complete_log_opts Britton Leo Kerin
2024-01-28 22:34 ` [PATCH v4 5/8] completion: log: use __git_complete_log_opts Britton Leo Kerin
2024-02-01 9:55 ` Patrick Steinhardt
2024-01-28 22:34 ` [PATCH v4 6/8] completion: bisect: complete log opts for visualize subcommand Britton Leo Kerin
2024-01-28 22:34 ` [PATCH v4 7/8] completion: bisect: recognize but do not complete view subcommand Britton Leo Kerin
2024-01-28 22:34 ` [PATCH v4 8/8] completion: add tests for git-bisect Britton Leo Kerin
2024-01-30 5:47 ` Junio C Hamano
2024-02-01 9:55 ` Patrick Steinhardt
2024-02-01 9:55 ` [PATCH v4 0/8] completion: improvements " Patrick Steinhardt
2024-02-06 2:09 ` [PATCH v5 0/7] " Britton Leo Kerin
2024-02-06 2:09 ` [PATCH v5 1/7] completion: tests: always use 'master' for default initial branch name Britton Leo Kerin
2024-02-06 2:09 ` Britton Leo Kerin [this message]
2024-02-06 7:40 ` [PATCH v5 2/7] completion: bisect: complete bad, new, old, and help subcommands Patrick Steinhardt
2024-02-06 2:09 ` [PATCH v5 3/7] completion: bisect: complete custom terms and related options Britton Leo Kerin
2024-02-06 7:40 ` Patrick Steinhardt
2024-02-06 2:09 ` [PATCH v5 4/7] completion: bisect: complete missing --first-parent and --no-checkout options Britton Leo Kerin
2024-02-06 2:09 ` [PATCH v5 5/7] completion: new function __git_complete_log_opts Britton Leo Kerin
2024-02-06 7:40 ` Patrick Steinhardt
2024-02-06 2:09 ` [PATCH v5 6/7] completion: bisect: complete log opts for visualize subcommand Britton Leo Kerin
2024-02-06 2:09 ` [PATCH v5 7/7] completion: bisect: recognize but do not complete view subcommand Britton Leo Kerin
2024-02-06 7:40 ` [PATCH v5 0/7] completion: improvements for git-bisect Patrick Steinhardt
2024-02-06 21:50 ` [PATCH v6 " Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 1/7] completion: tests: always use 'master' for default initial branch name Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 2/7] completion: bisect: complete bad, new, old, and help subcommands Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 3/7] completion: bisect: complete custom terms and related options Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 4/7] completion: bisect: complete missing --first-parent and --no-checkout options Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 5/7] completion: new function __git_complete_log_opts Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 6/7] completion: bisect: complete log opts for visualize subcommand Britton Leo Kerin
2024-02-06 21:50 ` [PATCH v6 7/7] completion: bisect: recognize but do not complete view subcommand Britton Leo Kerin
2024-02-06 22:58 ` [PATCH v6 0/7] completion: improvements for git-bisect Junio C Hamano
2024-02-07 5:26 ` Patrick Steinhardt
[not found] ` <20240110020347.673155-1-britton.kerin@gmail.com>
2024-01-10 2:03 ` [PATCH v2 1/5] completion: complete new old actions, start opts Britton Leo Kerin
2024-01-10 2:03 ` [PATCH v2 2/5] completion: git-log opts to bisect visualize Britton Leo Kerin
2024-01-10 2:03 ` [PATCH v2 3/5] completion: move to maintain define-before-use Britton Leo Kerin
2024-01-10 2:03 ` [PATCH v2 4/5] completion: custom git-bisect terms Britton Leo Kerin
2024-01-10 2:03 ` [PATCH v2 5/5] " Britton Leo Kerin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240206020930.312164-3-britton.kerin@gmail.com \
--to=britton.kerin@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).