diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-05-23 08:38:13 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-23 08:38:13 +0300 |
commit | c89b6e136e421f1e9108b3c5bc050b19b0243844 (patch) | |
tree | 8d81e022f855aad5d29853b56b886d3c6b382c45 /merge-recursive.c | |
parent | 05682ee270199fdfbc11883458b3639b2b1577df (diff) | |
parent | 279ffad17dcc3b72aa7cb5c73fb7aa8eddeed9da (diff) |
Merge branch 'ds/lazy-load-trees'
The code has been taught to use the duplicated information stored
in the commit-graph file to learn the tree object name for a commit
to avoid opening and parsing the commit object when it makes sense
to do so.
* ds/lazy-load-trees:
coccinelle: avoid wrong transformation suggestions from commit.cocci
commit-graph: lazy-load trees for commits
treewide: replace maybe_tree with accessor methods
commit: create get_commit_tree() method
treewide: rename tree to maybe_tree
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 0c0d48624d..0b690d4dcc 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, get_commit_tree(h1), get_commit_tree(h2), + get_commit_tree(merged_common_ancestors), &mrtree); if (clean < 0) { flush_output(o); |