commit-graph.c: iteratively verify commit-graph chains

Now that we have a function which can verify a single layer of a commit-graph chain, implement `verify_commit_graph()` in terms of iterating over commit-graphs along their `->base_graph` pointers. This further prepares us to consolidate the progress output of `git commit-graph verify`. Signed-off-by: Taylor Blau <me@ttaylorr.com> Acked-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Taylor Blau committed Jul 7, 2023 at 20:31 UTC f5facaa4653d3bcdb5ad5508e47d0e9a03c2aaa5
1 file changed +5 -4
commit-graph.c
+5 -4
@@ -2708,10 +2708,11 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags)
2708 return 1;
2709 }
2710
2711 - local_error = verify_one_commit_graph(r, g, flags);
2712 -
2713 - if (!(flags & COMMIT_GRAPH_VERIFY_SHALLOW) && g->base_graph)
2714 - local_error |= verify_commit_graph(r, g->base_graph, flags);
2711 + for (; g; g = g->base_graph) {
2712 + local_error |= verify_one_commit_graph(r, g, flags);
2713 + if (flags & COMMIT_GRAPH_VERIFY_SHALLOW)
2714 + break;
2715 + }
2716
2717 return local_error;
2718 }