diff options
author | Patrick Steinhardt <ps@pks.im> | 2024-05-07 06:53:35 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-05-06 22:50:50 -0700 |
commit | 373bfa6077e76d0b4e8078bc216114dffe3ba430 (patch) | |
tree | a7b821f9b8ae6c5f6f37797a32ed240045e788be | |
parent | ab274909d440a43cc03f9f815e9f8d4bba705f1e (diff) | |
download | git-373bfa6077e76d0b4e8078bc216114dffe3ba430.tar.gz |
builtin/shortlog: don't set up revisions without repo
It is possible to run git-shortlog(1) outside of a repository by passing
it output from git-log(1) via standard input. Obviously, as there is no
repository in that context, it is thus unsupported to pass any revisions
as arguments.
Regardless of that we still end up calling `setup_revisions()`. While
that works alright, it is somewhat strange. Furthermore, this is about
to cause problems when we unset the default object hash.
Refactor the code to only call `setup_revisions()` when we have a
repository. This is safe to do as we already verify that there are no
arguments when running outside of a repository anyway.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/shortlog.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 3c7cd2d6ef..d4daf31e22 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -435,7 +435,7 @@ parse_done: usage_with_options(shortlog_usage, options); } - if (setup_revisions(argc, argv, &rev, NULL) != 1) { + if (!nongit && setup_revisions(argc, argv, &rev, NULL) != 1) { error(_("unrecognized argument: %s"), argv[1]); usage_with_options(shortlog_usage, options); } |