]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fsck: drop blob struct from fsck_finish()
authorJeff King <peff@peff.net>
Fri, 18 Oct 2019 04:59:54 +0000 (00:59 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Oct 2019 05:05:18 +0000 (14:05 +0900)
Since fsck_blob() no longer requires us to have a "struct blob", we
don't need to create one. Which also means we don't need to worry about
handling the case that lookup_blob() returns NULL (we'll still catch
wrongly-identified blobs when we read the actual object contents and
type from disk).

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

diff --git a/fsck.c b/fsck.c
index 6e9640a1a6fcd936ad86da44d5b70ef3e39073b9..4ff0ceb4aca6a9bdf616557d42262accf95ffaca 100644 (file)
--- a/fsck.c
+++ b/fsck.c
@@ -1013,7 +1013,6 @@ int fsck_finish(struct fsck_options *options)
 
        oidset_iter_init(&gitmodules_found, &iter);
        while ((oid = oidset_iter_next(&iter))) {
-               struct blob *blob;
                enum object_type type;
                unsigned long size;
                char *buf;
@@ -1021,31 +1020,22 @@ int fsck_finish(struct fsck_options *options)
                if (oidset_contains(&gitmodules_done, oid))
                        continue;
 
-               blob = lookup_blob(the_repository, oid);
-               if (!blob) {
-                       struct object *obj = lookup_unknown_object(oid);
-                       ret |= report(options, &obj->oid, obj->type,
-                                     FSCK_MSG_GITMODULES_BLOB,
-                                     "non-blob found at .gitmodules");
-                       continue;
-               }
-
                buf = read_object_file(oid, &type, &size);
                if (!buf) {
-                       if (is_promisor_object(&blob->object.oid))
+                       if (is_promisor_object(oid))
                                continue;
                        ret |= report(options,
-                                     &blob->object.oid, blob->object.type,
+                                     oid, OBJ_BLOB,
                                      FSCK_MSG_GITMODULES_MISSING,
                                      "unable to read .gitmodules blob");
                        continue;
                }
 
                if (type == OBJ_BLOB)
-                       ret |= fsck_blob(&blob->object.oid, buf, size, options);
+                       ret |= fsck_blob(oid, buf, size, options);
                else
                        ret |= report(options,
-                                     &blob->object.oid, blob->object.type,
+                                     oid, type,
                                      FSCK_MSG_GITMODULES_BLOB,
                                      "non-blob found at .gitmodules");
                free(buf);