summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-05-25 16:42:47 -0700
committerJunio C Hamano <gitster@pobox.com>2022-05-25 16:42:47 -0700
commit18254f14f26845c8a2bc7ca7d934855068eb3257 (patch)
tree1d17cac2cb12d3529c88ce329fa89d85fc87fb78
parent296bdc4f36f62590c7cb4f709ab7fc1f2e507d19 (diff)
parent41c64ae0e762d2c4ef1ddd578b8992967547dc5f (diff)
Merge branch 'jc/show-branch-g-current'
The "--current" option of "git show-branch" should have been made incompatible with the "--reflog" mode, but this was not enforced, which has been corrected. * jc/show-branch-g-current: show-branch: -g and --current are incompatible
-rw-r--r--builtin/show-branch.c4
-rwxr-xr-xt/t3202-show-branch.sh14
2 files changed, 18 insertions, 0 deletions
diff --git a/builtin/show-branch.c b/builtin/show-branch.c
index 330b0553b9..64c649c6a2 100644
--- a/builtin/show-branch.c
+++ b/builtin/show-branch.c
@@ -712,6 +712,10 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
"--all/--remotes/--independent/--merge-base");
}
+ if (with_current_branch && reflog)
+ die(_("options '%s' and '%s' cannot be used together"),
+ "--reflog", "--current");
+
/* If nothing is specified, show all branches by default */
if (ac <= topics && all_heads + all_remotes == 0)
all_heads = 1;
diff --git a/t/t3202-show-branch.sh b/t/t3202-show-branch.sh
index 7a1be73ce8..f2b9199007 100755
--- a/t/t3202-show-branch.sh
+++ b/t/t3202-show-branch.sh
@@ -161,4 +161,18 @@ test_expect_success 'show branch --reflog=2' '
test_cmp actual expect
'
+# incompatible options
+while read combo
+do
+ test_expect_success "show-branch $combo (should fail)" '
+ test_must_fail git show-branch $combo 2>error &&
+ grep -e "cannot be used together" -e "usage:" error
+ '
+done <<\EOF
+--all --reflog
+--merge-base --reflog
+--list --merge-base
+--reflog --current
+EOF
+
test_done