summaryrefslogtreecommitdiff
path: root/log-tree.c
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-04-06 19:09:32 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-11 01:47:16 (GMT)
commit891435d55da80ca3654b19834481205be6bdfe33 (patch)
treefddc1768c14c6567f7be5205bf808d8bae86981a /log-tree.c
parent2d5792f0716605ff0059fe4b5c865d6821c0161e (diff)
downloadgit-891435d55da80ca3654b19834481205be6bdfe33.zip
git-891435d55da80ca3654b19834481205be6bdfe33.tar.gz
git-891435d55da80ca3654b19834481205be6bdfe33.tar.bz2
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>
Diffstat (limited to 'log-tree.c')
-rw-r--r--log-tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/log-tree.c b/log-tree.c
index bdf23c5..99499af 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -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);