git: show alias info only with lone -h
Builtin commands show usage information on stdout if called with -h as
their only option, usage.c::show_usage_if_asked() makes sure of that.
Aliases show alias information on stderr if called with -h as the first
option since a9a60b94cc
(git.c: handle_alias: prepend alias info when
first argument is -h, 2018-10-09). This is surprising when using
aliases for commands that take -h as a normal argument among others,
like git grep.
Tighten the condition and show the alias information only if -h is the
only option given, to be consistent with builtins.
It's probably still is a good idea to write to stderr, as an alias
command doesn't have to be a builtin and could instead produce output
with just -h that might be spoiled by an extra alias info line.
Reported-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
parent
e4ef0485fd
commit
161e895e42
2
git.c
2
git.c
|
@ -371,7 +371,7 @@ static int handle_alias(struct strvec *args)
|
|||
alias_command = args->v[0];
|
||||
alias_string = alias_lookup(alias_command);
|
||||
if (alias_string) {
|
||||
if (args->nr > 1 && !strcmp(args->v[1], "-h"))
|
||||
if (args->nr == 2 && !strcmp(args->v[1], "-h"))
|
||||
fprintf_ln(stderr, _("'%s' is aliased to '%s'"),
|
||||
alias_command, alias_string);
|
||||
if (alias_string[0] == '!') {
|
||||
|
|
Loading…
Reference in New Issue