diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-05-23 14:38:13 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-23 14:38:13 +0900 |
commit | c89b6e136e421f1e9108b3c5bc050b19b0243844 (patch) | |
tree | 8d81e022f855aad5d29853b56b886d3c6b382c45 /revision.c | |
parent | 05682ee270199fdfbc11883458b3639b2b1577df (diff) | |
parent | 279ffad17dcc3b72aa7cb5c73fb7aa8eddeed9da (diff) | |
download | git-c89b6e136e421f1e9108b3c5bc050b19b0243844.tar.gz |
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 'revision.c')
-rw-r--r-- | revision.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/revision.c b/revision.c index 1cff11833e..4e0e193e57 100644 --- a/revision.c +++ b/revision.c @@ -441,8 +441,8 @@ static void file_change(struct diff_options *options, static int rev_compare_tree(struct rev_info *revs, struct commit *parent, struct commit *commit) { - struct tree *t1 = parent->tree; - struct tree *t2 = commit->tree; + struct tree *t1 = get_commit_tree(parent); + struct tree *t2 = get_commit_tree(commit); if (!t1) return REV_TREE_NEW; @@ -478,7 +478,7 @@ static int rev_compare_tree(struct rev_info *revs, static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit) { int retval; - struct tree *t1 = commit->tree; + struct tree *t1 = get_commit_tree(commit); if (!t1) return 0; @@ -616,7 +616,7 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit) if (!revs->prune) return; - if (!commit->tree) + if (!get_commit_tree(commit)) return; if (!commit->parents) { |