jk/branch-l-0-deprecation (was Re: What's cooking in git.git (May 2018, #02; Thu, 17))
- From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
- Date
- May 24, 2018, 15:10 UTC
- Message-ID
- <1527174618.10589.4.camel@gmail.com>
- In-Reply-To
- <20180517133601.GC17548@sigill.intra.peff.net>
On Thursday 17 May 2018 07:06 PM, Jeff King wrote:
> But because git-branch does not kick in the pager until later > (because it only wants to do it for list-mode), that happens _after_ > we've emitted the message. >
I observe exactly the consequence of this behaviour. First, the error is emitted and then the pager kicks in to list the branches.
Show 6 quoted lines
> On the other hand, I'm not sure this is that big a deal. The point of > the deprecation warning is to catch people who are actually trying to > use "-l" as "--create-reflog", and that case does not page. The people > doing "git branch -l" are actually getting what they want eventually, > which is to turn it into "--list". In the interim step where it becomes > an unknown option, they'll get a hard error.
I just thought we wouldn't want to surprise/confuse users who try to use "git branch -l" with the warning message about "create reflog" along-side the list of branches. That would just add to the confusion. So, I thought we should error out when users do "git branch -l" instead. Something like the following should help us prevent "git branch -l" from listing branch names and might also prevent the confusion.
diff --git a/builtin/branch.c b/builtin/branch.c index 452742fec..f3c5181bb 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -672,7 +672,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix) argc = parse_options(argc, argv, prefix, options, builtin_branch_usage, 0); - if (!delete && !rename && !copy && !edit_description && !new_upstream && !unset_upstream && argc == 0) + if (!delete && !rename && !copy && !edit_description && !new_upstream && !unset_upstream && !reflog && argc == 0) list = 1; if (filter.with_commit || filter.merge != REF_FILTER_MERGED_NONE || filter.points_at.nr ||
-- Kaartic