From: Derrick Stolee Date: Tue, 19 Jun 2018 12:54:28 GMT Subject: Re: [PATCH 05/23] midx: write header information to lockfile Message-ID: In-Reply-To: On 6/12/2018 11:00 AM, Duy Nguyen wrote: > On Thu, Jun 7, 2018 at 7:01 PM Derrick Stolee wrote: >> diff --git a/midx.c b/midx.c >> index 616af66b13..3e55422a21 100644 >> --- a/midx.c >> +++ b/midx.c >> @@ -1,9 +1,62 @@ >> #include "git-compat-util.h" >> #include "cache.h" >> #include "dir.h" >> +#include "csum-file.h" >> +#include "lockfile.h" >> #include "midx.h" >> >> +#define MIDX_SIGNATURE 0x4d494458 /* "MIDX" */ >> +#define MIDX_VERSION 1 >> +#define MIDX_HASH_VERSION 1 /* SHA-1 */ > ... >> +static size_t write_midx_header(struct hashfile *f, >> + unsigned char num_chunks, >> + uint32_t num_packs) >> +{ >> + char byte_values[4]; >> + hashwrite_be32(f, MIDX_SIGNATURE); >> + byte_values[0] = MIDX_VERSION; >> + byte_values[1] = MIDX_HASH_VERSION; > Quoting from "State of NewHash work, future directions, and discussion" [1] > > * If you need to serialize an algorithm identifier into your data > format, use the format_id field of struct git_hash_algo. It's > designed specifically for that purpose. > > [1] https://public-inbox.org/git/20180612024252.GA141166@aiede.svl.corp.google.com/T/#m5fdd09dcaf31266c45343fb6c0beaaa3e928bc60 Thanks! I'll also use the_hash_algo->rawsz to infer the length of the hash function.