commit-graph: load a root tree from specific graph
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9b19adac6f
commit
0cbef8f8ce
@ -362,14 +362,20 @@ static struct tree *load_tree_for_commit(struct commit_graph *g, struct commit *
|
|||||||
return c->maybe_tree;
|
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)
|
if (c->maybe_tree)
|
||||||
return c->maybe_tree;
|
return c->maybe_tree;
|
||||||
if (c->graph_pos == COMMIT_NOT_FROM_GRAPH)
|
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(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,
|
static void write_graph_chunk_fanout(struct hashfile *f,
|
||||||
|
Loading…
Reference in New Issue
Block a user