THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

Browse Source

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>
tags/v2.19.0-rc0
Derrick Stolee Junio C Hamano 1 year ago
parent
commit
0cbef8f8ce
1 changed files with 9 additions and 3 deletions
  1. +9
    -3
      commit-graph.c

+ 9
- 3
commit-graph.c View File

@@ -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;
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,


Loading…
Cancel
Save