Re: [PATCH v7 06/22] commit-graph: load a root tree from specific graph
From: SZEDER Gábor <hidden>
Date: 2018-07-11 09:38:36
quoted hunk ↗ jump to hunk
When lazy-loading a tree for a commit, it will be important to select the tree from a specific struct commit_graph. Create a new method that specifies the commit-graph file and use that in get_commit_tree_in_graph(). Signed-off-by: Derrick Stolee <redacted> --- commit-graph.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)diff --git a/commit-graph.c b/commit-graph.c index e77b19971d..9e228d3bb5 100644 --- a/commit-graph.c +++ b/commit-graph.c@@ -362,14 +362,20 @@ static struct tree *load_tree_for_commit(struct commit_graph *g, struct commit * return c->maybe_tree; } -struct tree *get_commit_tree_in_graph(const struct commit *c) +static struct tree *get_commit_tree_in_graph_one(struct commit_graph *g, + const struct commit *c) { if (c->maybe_tree) return c->maybe_tree;
Coccinelle and 'commit.cocci' complain about this change, because it renames a function directly accessing struct commit's maybe_tree member. In 'commit.cocci' the regex listing the names of functions that are allowed to access c->maybe_tree directly should be updated accordingly as well.
if (c->graph_pos == COMMIT_NOT_FROM_GRAPH)
- BUG("get_commit_tree_in_graph called from non-commit-graph commit");
+ BUG("get_commit_tree_in_graph_one called from non-commit-graph commit");
+
+ return load_tree_for_commit(g, (struct commit *)c);
+}
- return load_tree_for_commit(commit_graph, (struct commit *)c);
+struct tree *get_commit_tree_in_graph(const struct commit *c)
+{
+ return get_commit_tree_in_graph_one(commit_graph, c);
}
static void write_graph_chunk_fanout(struct hashfile *f,
--
2.18.0.24.g1b579a2ee9