treewide: rename tree to maybe_tree

Using the commit-graph file to walk commit history removes the large
cost of parsing commits during the walk. This exposes a performance
issue: lookup_tree() takes a large portion of the computation time,
even when Git never uses those trees.

In anticipation of lazy-loading these trees, rename the 'tree' member
of struct commit to 'maybe_tree'. This serves two purposes: it hints
at the future role of possibly being NULL even if the commit has a
valid tree, and it allows for unambiguous transformation from simple
member access (i.e. commit->maybe_tree) to method access.

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:32 +00:00
committed by Junio C Hamano
parent 2d5792f071
commit 891435d55d
24 changed files with 65 additions and 64 deletions

View File

@ -806,7 +806,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
return 0;
parse_commit_or_die(commit);
oid = &commit->tree->object.oid;
oid = &commit->maybe_tree->object.oid;
/* Root commit? */
parents = get_saved_parents(opt, commit);
@ -831,7 +831,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
* we merged _in_.
*/
parse_commit_or_die(parents->item);
diff_tree_oid(&parents->item->tree->object.oid,
diff_tree_oid(&parents->item->maybe_tree->object.oid,
oid, "", &opt->diffopt);
log_tree_diff_flush(opt);
return !opt->loginfo;
@ -846,7 +846,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
struct commit *parent = parents->item;
parse_commit_or_die(parent);
diff_tree_oid(&parent->tree->object.oid,
diff_tree_oid(&parent->maybe_tree->object.oid,
oid, "", &opt->diffopt);
log_tree_diff_flush(opt);