@ -252,7 +252,8 @@ struct commit_graph *load_commit_graph_one_fd_st(struct repository *r,
}
}
graph_map = xmmap(NULL, graph_size, PROT_READ, MAP_PRIVATE, fd, 0);
graph_map = xmmap(NULL, graph_size, PROT_READ, MAP_PRIVATE, fd, 0);
close(fd);
close(fd);
ret = parse_commit_graph(r, graph_map, graph_size);
prepare_repo_settings(r);
ret = parse_commit_graph(&r->settings, graph_map, graph_size);
if (ret)
if (ret)
ret->odb = odb;
ret->odb = odb;
@ -321,7 +322,7 @@ static int graph_read_bloom_data(const unsigned char *chunk_start,
return 0;
return 0;
}
}
struct commit_graph *parse_commit_graph(struct repository *r,
struct commit_graph *parse_commit_graph(struct repo_settings *s,
void *graph_map, size_t graph_size)
void *graph_map, size_t graph_size)
{
{
const unsigned char *data;
const unsigned char *data;
@ -359,8 +360,6 @@ struct commit_graph *parse_commit_graph(struct repository *r,
return NULL;
return NULL;
}
}
prepare_repo_settings(r);
graph = alloc_commit_graph();
graph = alloc_commit_graph();
graph->hash_len = the_hash_algo->rawsz;
graph->hash_len = the_hash_algo->rawsz;
@ -390,7 +389,7 @@ struct commit_graph *parse_commit_graph(struct repository *r,
pair_chunk(cf, GRAPH_CHUNKID_EXTRAEDGES, &graph->chunk_extra_edges);
pair_chunk(cf, GRAPH_CHUNKID_EXTRAEDGES, &graph->chunk_extra_edges);
pair_chunk(cf, GRAPH_CHUNKID_BASE, &graph->chunk_base_graphs);
pair_chunk(cf, GRAPH_CHUNKID_BASE, &graph->chunk_base_graphs);
if (get_configured_generation_version(r) >= 2) {
if (s->commit_graph_generation_version >= 2) {
pair_chunk(cf, GRAPH_CHUNKID_GENERATION_DATA,
pair_chunk(cf, GRAPH_CHUNKID_GENERATION_DATA,
&graph->chunk_generation_data);
&graph->chunk_generation_data);
pair_chunk(cf, GRAPH_CHUNKID_GENERATION_DATA_OVERFLOW,
pair_chunk(cf, GRAPH_CHUNKID_GENERATION_DATA_OVERFLOW,
@ -400,7 +399,7 @@ struct commit_graph *parse_commit_graph(struct repository *r,
graph->read_generation_data = 1;
graph->read_generation_data = 1;
}
}
if (r->settings.commit_graph_read_changed_paths) {
if (s->commit_graph_read_changed_paths) {
pair_chunk(cf, GRAPH_CHUNKID_BLOOMINDEXES,
pair_chunk(cf, GRAPH_CHUNKID_BLOOMINDEXES,
&graph->chunk_bloom_indexes);
&graph->chunk_bloom_indexes);
read_chunk(cf, GRAPH_CHUNKID_BLOOMDATA,
read_chunk(cf, GRAPH_CHUNKID_BLOOMDATA,