Merge branch 'jk/no-looking-at-dotgit-outside-repo'
authorJunio C Hamano <gitster@pobox.com>
Thu, 20 Apr 2017 04:37:20 +0000 (21:37 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Apr 2017 04:37:20 +0000 (21:37 -0700)
Clean up fallouts from recent tightening of the set-up sequence,
where Git barfs when repository information is accessed without
first ensuring that it was started in a repository.

* jk/no-looking-at-dotgit-outside-repo:
  test-read-cache: setup git dir
  has_sha1_file: don't bother if we are not in a repository

sha1_file.c
t/helper/test-read-cache.c

index 2270f36..1577e2d 100644 (file)
@@ -3481,6 +3481,8 @@ int has_sha1_file_with_flags(const unsigned char *sha1, int flags)
 {
        struct pack_entry e;
 
+       if (!startup_info->have_repository)
+               return 0;
        if (find_pack_entry(sha1, &e))
                return 1;
        if (has_loose_object(sha1))
index 2a7990e..48255ee 100644 (file)
@@ -5,6 +5,7 @@ int cmd_main(int argc, const char **argv)
        int i, cnt = 1;
        if (argc == 2)
                cnt = strtol(argv[1], NULL, 0);
+       setup_git_directory();
        for (i = 0; i < cnt; i++) {
                read_cache();
                discard_cache();