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. > 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