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:
Derrick Stolee
2018-04-06 19:09:38 +00:00
committed by Junio C Hamano
parent 5bb03de102
commit 2e27bd7731
23 changed files with 101 additions and 61 deletions

View File

@ -0,0 +1,30 @@
@@
expression c;
@@
- &c->maybe_tree->object.oid
+ get_commit_tree_oid(c)
@@
expression c;
@@
- c->maybe_tree->object.oid.hash
+ get_commit_tree_oid(c)->hash
@@
expression c;
@@
- c->maybe_tree
+ get_commit_tree(c)
@@
expression c;
expression s;
@@
- get_commit_tree(c) = s
+ c->maybe_tree = s
@@
expression c;
@@
- return get_commit_tree(c);
+ return c->maybe_tree;