[PATCH v3 10/16] midx: keep track of the checksum
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Mar 11, 2021, 17:05 UTC
- Message-ID
- <a22a1463a547e60ceba4a0abda21a1188c5002ee.1615482270.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1615482270.git.me@ttaylorr.com>
write_midx_internal() uses a hashfile to write the multi-pack index, but discards its checksum. This makes sense, since nothing that takes place after writing the MIDX cares about its checksum.
That is about to change in a subsequent patch, when the optional reverse index corresponding to the MIDX will want to include the MIDX's checksum.
Store the checksum of the MIDX in preparation for that.
Signed-off-by: Taylor Blau <me@ttaylorr.com> --- midx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/midx.c b/midx.c index e0009d3314..31e6d3d2df 100644 --- a/midx.c +++ b/midx.c @@ -821,6 +821,7 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index * unsigned flags) { char *midx_name; + unsigned char midx_hash[GIT_MAX_RAWSZ]; uint32_t i; struct hashfile *f = NULL; struct lock_file lk; @@ -997,7 +998,7 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index * write_midx_header(f, get_num_chunks(cf), ctx.nr - dropped_packs); write_chunkfile(cf, &ctx); - finalize_hashfile(f, NULL, CSUM_FSYNC | CSUM_HASH_IN_STREAM); + finalize_hashfile(f, midx_hash, CSUM_FSYNC | CSUM_HASH_IN_STREAM); free_chunkfile(cf); commit_lock_file(&lk);
-- 2.30.0.667.g81c0cbc6fd