Re: [PATCH 05/23] midx: write header information to lockfile
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Jun 19, 2018, 12:54 UTC
- Message-ID
- <fa036efb-2164-ee0a-8cbb-4144487b6617@gmail.com>
- In-Reply-To
- <CACsJy8ALMjiyjcEdFPnR7GTzBVpqVB72VQNkpUWrj9p4nm-OGg@mail.gmail.com>
On 6/12/2018 11:00 AM, Duy Nguyen wrote:
Show 32 quoted lines
> On Thu, Jun 7, 2018 at 7:01 PM Derrick Stolee <stolee@gmail.com> 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/#m5fdd09dcaf31266c45343fb6c0beaaa3e928bc60Thanks! I'll also use the_hash_algo->rawsz to infer the length of the hash function.