commit-graph: simplify chunk writes into loop
commit17e6275fc9f5763fb89a1219aceaf14adf340a2b
authorSZEDER Gábor <szeder.dev@gmail.com>
Wed, 1 Jul 2020 13:27:26 +0000 (1 13:27 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 1 Jul 2020 21:17:43 +0000 (1 14:17 -0700)
tree526515871367d65203ce60f5baca49ffa0b6b668
parent9bab081dfab8ebb4fcdf0d7e8a692626aeb29358
commit-graph: simplify chunk writes into loop

In write_commit_graph_file() we now have one block of code filling the
array of 'struct chunk_info' with the IDs and sizes of chunks to be
written, and an other block of code calling the functions responsible
for writing individual chunks.  In case of optional chunks like Extra
Edge List an Base Graphs List there is also a condition checking
whether that chunk is necessary/desired, and that same condition is
repeated in both blocks of code. Other, newer chunks have similar
optional conditions.

Eliminate these repeated conditions by storing the function pointers
responsible for writing individual chunks in the 'struct chunk_info'
array as well, and calling them in a loop to write the commit-graph
file.  This will open up the possibility for a bit of foolproofing in
the following patch.

Helped-by: René Scharfe <l.s.r@web.de>
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit-graph.c