treewide: replace maybe_tree with accessor methods
In anticipation of making trees load lazily, create a Coccinelle script (contrib/coccinelle/commit.cocci) to ensure that all references to the 'maybe_tree' member of struct commit are either mutations or accesses through get_commit_tree() or get_commit_tree_oid(). Apply the Coccinelle script to create the rest of the patch. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
5bb03de102
commit
2e27bd7731
4
tree.c
4
tree.c
@ -109,7 +109,7 @@ static int read_tree_1(struct tree *tree, struct strbuf *base,
|
||||
oid_to_hex(entry.oid),
|
||||
base->buf, entry.path);
|
||||
|
||||
oidcpy(&oid, &commit->maybe_tree->object.oid);
|
||||
oidcpy(&oid, get_commit_tree_oid(commit));
|
||||
}
|
||||
else
|
||||
continue;
|
||||
@ -248,7 +248,7 @@ struct tree *parse_tree_indirect(const struct object_id *oid)
|
||||
if (obj->type == OBJ_TREE)
|
||||
return (struct tree *) obj;
|
||||
else if (obj->type == OBJ_COMMIT)
|
||||
obj = &(((struct commit *) obj)->maybe_tree->object);
|
||||
obj = &(get_commit_tree(((struct commit *)obj))->object);
|
||||
else if (obj->type == OBJ_TAG)
|
||||
obj = ((struct tag *) obj)->tagged;
|
||||
else
|
||||
|
Reference in New Issue
Block a user