]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mailmap: do not resolve blobs in a non-repository
authorJeff King <peff@peff.net>
Sat, 5 Mar 2016 22:13:29 +0000 (17:13 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Mar 2016 01:19:11 +0000 (17:19 -0800)
The mailmap code may be triggered outside of a repository by
git-shortlog. There is no point in looking up a name like
"HEAD:.mailmap" there; without a repository, we have no
refs.

This is unlikely to matter much in practice for the current
code, as we would simply fail to find the ref. But as the
refs code learns about new backends, this is more important;
without a repository, we do not even know which backend to
look at.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mailmap.c

index f4a0f1cf27bf0a10626cc5b1fd628e12cbda3a7e..972623709fdac5503328f7e252d5334dfcb461c6 100644 (file)
--- a/mailmap.c
+++ b/mailmap.c
@@ -250,7 +250,8 @@ int read_mailmap(struct string_list *map, char **repo_abbrev)
                git_mailmap_blob = "HEAD:.mailmap";
 
        err |= read_mailmap_file(map, ".mailmap", repo_abbrev);
-       err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
+       if (startup_info->have_repository)
+               err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev);
        err |= read_mailmap_file(map, git_mailmap_file, repo_abbrev);
        return err;
 }