aboutsummaryrefslogtreecommitdiffstats
path: root/blame.c
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-04-06 19:09:32 +0000
committerJunio C Hamano <gitster@pobox.com>2018-04-11 10:47:16 +0900
commit891435d55da80ca3654b19834481205be6bdfe33 (patch)
treefddc1768c14c6567f7be5205bf808d8bae86981a /blame.c
parent2d5792f0716605ff0059fe4b5c865d6821c0161e (diff)
downloadgit-891435d55da80ca3654b19834481205be6bdfe33.tar.gz
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 'blame.c')
-rw-r--r--blame.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/blame.c b/blame.c
index 200e0ad9a2..b78e649cac 100644
--- a/blame.c
+++ b/blame.c
@@ -553,10 +553,10 @@ static struct blame_origin *find_origin(struct commit *parent,
diff_setup_done(&diff_opts);
if (is_null_oid(&origin->commit->object.oid))
- do_diff_cache(&parent->tree->object.oid, &diff_opts);
+ do_diff_cache(&parent->maybe_tree->object.oid, &diff_opts);
else
- diff_tree_oid(&parent->tree->object.oid,
- &origin->commit->tree->object.oid,
+ diff_tree_oid(&parent->maybe_tree->object.oid,
+ &origin->commit->maybe_tree->object.oid,
"", &diff_opts);
diffcore_std(&diff_opts);
@@ -622,10 +622,10 @@ static struct blame_origin *find_rename(struct commit *parent,
diff_setup_done(&diff_opts);
if (is_null_oid(&origin->commit->object.oid))
- do_diff_cache(&parent->tree->object.oid, &diff_opts);
+ do_diff_cache(&parent->maybe_tree->object.oid, &diff_opts);
else
- diff_tree_oid(&parent->tree->object.oid,
- &origin->commit->tree->object.oid,
+ diff_tree_oid(&parent->maybe_tree->object.oid,
+ &origin->commit->maybe_tree->object.oid,
"", &diff_opts);
diffcore_std(&diff_opts);
@@ -1257,10 +1257,10 @@ static void find_copy_in_parent(struct blame_scoreboard *sb,
diff_opts.flags.find_copies_harder = 1;
if (is_null_oid(&target->commit->object.oid))
- do_diff_cache(&parent->tree->object.oid, &diff_opts);
+ do_diff_cache(&parent->maybe_tree->object.oid, &diff_opts);
else
- diff_tree_oid(&parent->tree->object.oid,
- &target->commit->tree->object.oid,
+ diff_tree_oid(&parent->maybe_tree->object.oid,
+ &target->commit->maybe_tree->object.oid,
"", &diff_opts);
if (!diff_opts.flags.find_copies_harder)