Skip to content

Commit

Permalink
object: convert create_object() to use object_id
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
peff authored and gitster committed Jun 20, 2019
1 parent 46931d3 commit a378509
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 13 deletions.
3 changes: 1 addition & 2 deletions blob.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
2 changes: 1 addition & 1 deletion commit-graph.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
3 changes: 1 addition & 2 deletions commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
6 changes: 3 additions & 3 deletions object.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
}
Expand Down
2 changes: 1 addition & 1 deletion object.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
3 changes: 1 addition & 2 deletions tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
3 changes: 1 addition & 2 deletions tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down

0 comments on commit a378509

Please sign in to comment.