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

@ -439,8 +439,8 @@ static void file_change(struct diff_options *options,
static int rev_compare_tree(struct rev_info *revs,
struct commit *parent, struct commit *commit)
{
struct tree *t1 = parent->maybe_tree;
struct tree *t2 = commit->maybe_tree;
struct tree *t1 = get_commit_tree(parent);
struct tree *t2 = get_commit_tree(commit);
if (!t1)
return REV_TREE_NEW;
@ -476,7 +476,7 @@ static int rev_compare_tree(struct rev_info *revs,
static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit)
{
int retval;
struct tree *t1 = commit->maybe_tree;
struct tree *t1 = get_commit_tree(commit);
if (!t1)
return 0;
@ -614,7 +614,7 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit)
if (!revs->prune)
return;
if (!commit->maybe_tree)
if (!get_commit_tree(commit))
return;
if (!commit->parents) {