[RFC PATCH 07/12] commit-graph: load a root tree from specific graph
- From
Derrick Stolee <dstolee@microsoft.com>
- Date
- Apr 17, 2018, 18:10 UTC
- Message-ID
- <20180417181028.198397-8-dstolee@microsoft.com>
- In-Reply-To
- <20180417181028.198397-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 6e3c08cd5c..80a2ac2a6a 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -354,14 +354,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.17.0.39.g685157f7fb