Subject: [PATCH v2] branch: reject --show-current with -v

From: K Jayatheerth <[email-masked]>
Date: Sun, 22 Mar 2026 11:37:05 +0530

The --show-current option doesn't know how to handle verbose
logic. In such a case, we want the program to die when both flags
are used together.

Acked-by: Junio C Hamano <[email-masked]>
Signed-off-by: K Jayatheerth <[email-masked]>
---
I only changed the title of the commit message.
The previous one (i.e remove unnecessary verbose flag) sounded
like we are nuking the whole verbose flag.

The acked by tag exists here because this was supposed to be queued,
I am resending this to remind.
The originial discussion however is here:
https://lore.kernel.org/git/[email-masked]/T/#u

 builtin/branch.c  | 2 ++
 t/t3200-branch.sh | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/builtin/branch.c b/builtin/branch.c
index a1a43380d0..cab22e1538 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -861,6 +861,8 @@ int cmd_branch(int argc,
 		ret = delete_branches(argc, argv, delete > 1, filter.kind, quiet);
 		goto out;
 	} else if (show_current) {
+		if (filter.verbose)
+			die(_("options '%s' and '%s' cannot be used together"), "--show-current", "-v");
 		print_current_branch_name();
 		ret = 0;
 		goto out;
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index c58e505c43..5bb49de9c2 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -1716,4 +1716,8 @@ test_expect_success 'errors if given a bad branch name' '
 	test_cmp expect actual
 '
 
+test_expect_success 'git branch --show-current rejects -v' '
+	test_must_fail git branch --show-current -v
+'
+
 test_done
-- 
2.53.0