Re: [PATCH v2] branch: reject --show-current with -v
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Mar 22, 2026, 16:34 UTC
- Message-ID
- <bf5b0901-fc44-4fbc-b66d-5eb062ccd324@gmail.com>
- In-Reply-To
- <20260322060705.53491-1-jayatheerthkulkarni2005@gmail.com>
On 22/03/2026 06:07, K Jayatheerth wrote:
> 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.
Is there any reason why --show-current couldn't be made to work with --verbose instead of dying?
Show 9 quoted lines
> > Acked-by: Junio C Hamano <gitster@pobox.com> > Signed-off-by: K Jayatheerth <jayatheerthkulkarni2005@gmail.com> > --- > 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,
That's not what the Acked-by: tag means - you should remove it
Show 18 quoted lines
> I am resending this to remind.
> The originial discussion however is here:
> https://lore.kernel.org/git/20251226032804.596058-1-jayatheerthkulkarni2005@gmail.com/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");It would be better to use die_for_incompatible_opt2() here so that the message is consistent with other commands.
Show 13 quoted lines
> 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
This checks that the command fails but does not check _why_ in failed. It would be better to redirect stderr to a file and use test_grep to check the error message matches what we expect as well checking that the command fails.
Thanks
Phillip
> +' > + > test_done