commit-graph: prepare commit graph
commitbc50d6c91f4002b4197a9f5ea5dfdc3c9f105a1c
authorDerrick Stolee <dstolee@microsoft.com>
Tue, 2 Feb 2021 03:01:23 +0000 (2 03:01 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 2 Feb 2021 05:03:36 +0000 (1 21:03 -0800)
tree27a93d26c2ffe657b35ac3b7a333a2e125c55443
parentfde55b0906552537c8cbcbf654f8e9dd64414637
commit-graph: prepare commit graph

Before checking if the repository has a commit-graph loaded, be sure
to run prepare_commit_graph(). This is necessary because otherwise
the topo_levels slab is not initialized. As we compute topo_levels for
the new commits, we iterate further into the lower layers since the
first visit to each commit looks as though the topo_level is not
populated.

By properly initializing the topo_slab, we fix the previously broken
case of a split commit graph where a base layer has the
generation_data_overflow chunk.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit-graph.c
t/t5318-commit-graph.sh