diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2018-04-06 19:09:32 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-04-11 10:47:16 +0900 |
commit | 891435d55da80ca3654b19834481205be6bdfe33 (patch) | |
tree | fddc1768c14c6567f7be5205bf808d8bae86981a /merge-recursive.c | |
parent | Merge branch 'bw/c-plus-plus' into ds/lazy-load-trees (diff) | |
download | tgif-891435d55da80ca3654b19834481205be6bdfe33.tar.xz |
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 'merge-recursive.c')
-rw-r--r-- | merge-recursive.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/merge-recursive.c b/merge-recursive.c index 6ff971f9a2..0f75d75d17 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -101,7 +101,7 @@ static struct commit *make_virtual_commit(struct tree *tree, const char *comment struct commit *commit = alloc_commit_node(); set_merge_remote_desc(commit, comment, (struct object *)commit); - commit->tree = tree; + commit->maybe_tree = tree; commit->object.parsed = 1; return commit; } @@ -2154,7 +2154,8 @@ int merge_recursive(struct merge_options *o, read_cache(); o->ancestor = "merged common ancestors"; - clean = merge_trees(o, h1->tree, h2->tree, merged_common_ancestors->tree, + clean = merge_trees(o, h1->maybe_tree, h2->maybe_tree, + merged_common_ancestors->maybe_tree, &mrtree); if (clean < 0) { flush_output(o); |