]> git.ipfire.org Git - thirdparty/git.git/commitdiff
object: convert create_object() to use object_id
authorJeff King <peff@peff.net>
Thu, 20 Jun 2019 07:41:21 +0000 (03:41 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Jun 2019 17:20:51 +0000 (10:20 -0700)
There are no callers left of create_object() that aren't just passing us
the "hash" member of a "struct object_id". Let's take the whole struct,
which gets us closer to removing all raw sha1 variables.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
blob.c
commit-graph.c
commit.c
object.c
object.h
tag.c
tree.c

diff --git a/blob.c b/blob.c
index b9c7180b7cc112fb17661b075586970e4949905e..36f9abda19ec1095a903aa138bdf53ce18a86b10 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -9,8 +9,7 @@ struct blob *lookup_blob(struct repository *r, const struct object_id *oid)
 {
        struct object *obj = lookup_object(r, oid);
        if (!obj)
-               return create_object(r, oid->hash,
-                                    alloc_blob_node(r));
+               return create_object(r, oid, alloc_blob_node(r));
        return object_as_type(r, obj, OBJ_BLOB, 0);
 }
 
index 7c5e54875fdacdf77235a077c9928f7d3bf0d001..5a62131d682a2f82f4b81aaa88d020e08fb9ea37 100644 (file)
@@ -1214,7 +1214,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g)
                hashcpy(cur_oid.hash, g->chunk_oid_lookup + g->hash_len * i);
 
                graph_commit = lookup_commit(r, &cur_oid);
-               odb_commit = (struct commit *)create_object(r, cur_oid.hash, alloc_commit_node(r));
+               odb_commit = (struct commit *)create_object(r, &cur_oid, alloc_commit_node(r));
                if (parse_commit_internal(odb_commit, 0, 0)) {
                        graph_report(_("failed to parse commit %s from object database for commit-graph"),
                                     oid_to_hex(&cur_oid));
index f47c75afae7f14a6f0e15aaa89890dcdfeeba8ce..b71ac195d4f661e5e50f2f7e561df0cc9f33e2e0 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -59,8 +59,7 @@ struct commit *lookup_commit(struct repository *r, const struct object_id *oid)
 {
        struct object *obj = lookup_object(r, oid);
        if (!obj)
-               return create_object(r, oid->hash,
-                                    alloc_commit_node(r));
+               return create_object(r, oid, alloc_commit_node(r));
        return object_as_type(r, obj, OBJ_COMMIT, 0);
 }
 
index dbfdbe504dd329d23a091731f151cb5ede10adf3..317647da3e55985a23194229926af1ecaae4b65f 100644 (file)
--- a/object.c
+++ b/object.c
@@ -141,13 +141,13 @@ static void grow_object_hash(struct repository *r)
        r->parsed_objects->obj_hash_size = new_hash_size;
 }
 
-void *create_object(struct repository *r, const unsigned char *sha1, void *o)
+void *create_object(struct repository *r, const struct object_id *oid, void *o)
 {
        struct object *obj = o;
 
        obj->parsed = 0;
        obj->flags = 0;
-       hashcpy(obj->oid.hash, sha1);
+       oidcpy(&obj->oid, oid);
 
        if (r->parsed_objects->obj_hash_size - 1 <= r->parsed_objects->nr_objs * 2)
                grow_object_hash(r);
@@ -182,7 +182,7 @@ struct object *lookup_unknown_object(const struct object_id *oid)
 {
        struct object *obj = lookup_object(the_repository, oid);
        if (!obj)
-               obj = create_object(the_repository, oid->hash,
+               obj = create_object(the_repository, oid,
                                    alloc_object_node(the_repository));
        return obj;
 }
index 47301186a47e544625726480611adde465737229..0120892bbd39034e3c49c2c068421df421ba9222 100644 (file)
--- a/object.h
+++ b/object.h
@@ -118,7 +118,7 @@ struct object *get_indexed_object(unsigned int);
  */
 struct object *lookup_object(struct repository *r, const struct object_id *oid);
 
-void *create_object(struct repository *r, const unsigned char *sha1, void *obj);
+void *create_object(struct repository *r, const struct object_id *oid, void *obj);
 
 void *object_as_type(struct repository *r, struct object *obj, enum object_type type, int quiet);
 
diff --git a/tag.c b/tag.c
index 3ae00ba1ab9343cfd236887c4b8e308d499ce537..5db870edb9e62e84f2117c2d25f2c3c4e0c616ec 100644 (file)
--- a/tag.c
+++ b/tag.c
@@ -102,8 +102,7 @@ struct tag *lookup_tag(struct repository *r, const struct object_id *oid)
 {
        struct object *obj = lookup_object(r, oid);
        if (!obj)
-               return create_object(r, oid->hash,
-                                    alloc_tag_node(r));
+               return create_object(r, oid, alloc_tag_node(r));
        return object_as_type(r, obj, OBJ_TAG, 0);
 }
 
diff --git a/tree.c b/tree.c
index 0ebb8c5b02f7c1e364c20554d1a47562d6c8e4b6..4720945e6a68c4311458cc60e22c25edb07c375e 100644 (file)
--- a/tree.c
+++ b/tree.c
@@ -199,8 +199,7 @@ struct tree *lookup_tree(struct repository *r, const struct object_id *oid)
 {
        struct object *obj = lookup_object(r, oid);
        if (!obj)
-               return create_object(r, oid->hash,
-                                    alloc_tree_node(r));
+               return create_object(r, oid, alloc_tree_node(r));
        return object_as_type(r, obj, OBJ_TREE, 0);
 }