]> git.ipfire.org Git - thirdparty/git.git/blobdiff - sha1_file.c
sha1_object_info: examine cached_object store too
[thirdparty/git.git] / sha1_file.c
index 9fd7e166d1451da7957fe45d1adf7f9a7767fc7e..0b830c8642fa2b141c9888c68713a29fc4df2ef2 100644 (file)
@@ -2020,9 +2020,17 @@ static int sha1_loose_object_info(const unsigned char *sha1, unsigned long *size
 
 int sha1_object_info(const unsigned char *sha1, unsigned long *sizep)
 {
+       struct cached_object *co;
        struct pack_entry e;
        int status;
 
+       co = find_cached_object(sha1);
+       if (co) {
+               if (sizep)
+                       *sizep = co->size;
+               return co->type;
+       }
+
        if (!find_pack_entry(sha1, &e)) {
                /* Most likely it's a loose object. */
                status = sha1_loose_object_info(sha1, sizep);