diff options
author | SZEDER Gábor <szeder.dev@gmail.com> | 2022-03-28 23:21:52 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-03-28 15:45:46 -0700 |
commit | 840344db7578a794fd25c44587e4a08dfe4f41cc (patch) | |
tree | 148cf1a814fd06d4cd0a94fae99768ad9997deaa | |
parent | reflog [show]: display sensible -h output (diff) | |
download | tgif-840344db7578a794fd25c44587e4a08dfe4f41cc.tar.xz |
reflog: fix 'show' subcommand's argv
cmd_reflog() invokes parse_options() with PARSE_OPT_KEEP_ARGV0, but it
doesn't account for the retained argv[0] before invoking
cmd_reflog_show() to handle the 'git reflog show' subcommand.
Consequently, cmd_reflog_show() always gets an 'argv' array starting
with elements argv[0]="reflog" and argv[1]="show".
Strip the name of the git command from the 'argv' array before passing
it to the function handling the 'show' subcommand.
There is no user-visible bug here, because cmd_reflog_show() doesn't
have any options or parameters of its own.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/reflog.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/reflog.c b/builtin/reflog.c index 6c4fe1af40..c943c2aabe 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -225,7 +225,7 @@ static int cmd_reflog_show(int argc, const char **argv, const char *prefix) PARSE_OPT_KEEP_DASHDASH | PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN); - return cmd_log_reflog(argc - 1, argv + 1, prefix); + return cmd_log_reflog(argc, argv, prefix); } static int cmd_reflog_expire(int argc, const char **argv, const char *prefix) @@ -425,7 +425,7 @@ int cmd_reflog(int argc, const char **argv, const char *prefix) goto log_reflog; if (!strcmp(argv[1], "show")) - return cmd_reflog_show(argc, argv, prefix); + return cmd_reflog_show(argc - 1, argv + 1, prefix); else if (!strcmp(argv[1], "expire")) return cmd_reflog_expire(argc - 1, argv + 1, prefix); else if (!strcmp(argv[1], "delete")) |