[PATCH v2 07/12] commit-graph: load a root tree from specific graph
- From
Derrick Stolee <dstolee@microsoft.com>
- Date
- May 11, 2018, 21:15 UTC
- Message-ID
- <20180511211504.79877-8-dstolee@microsoft.com>
- In-Reply-To
- <20180511211504.79877-1-dstolee@microsoft.com>
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 <dstolee@microsoft.com> --- commit-graph.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/commit-graph.c b/commit-graph.c index b0fd1d5320..5bb93e533c 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -357,14 +357,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; if (c->graph_pos == COMMIT_NOT_FROM_GRAPH) BUG("get_commit_tree_in_graph called from non-commit-graph commit"); - return load_tree_for_commit(commit_graph, (struct commit *)c); + return load_tree_for_commit(g, (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.16.2.329.gfb62395de6