Subject: Re: [PATCH] index-pack, unpack-objects: restore missing ->init_fn

From: Patrick Steinhardt <[email-masked]>
Date: Wed, 19 Mar 2025 14:12:49 +0100

On Wed, Mar 19, 2025 at 07:53:36PM +0800, gtXfined H. wrote:
> On Wed, Mar 19, 2025 at 5:32 PM Patrick Steinhardt <[email-masked]> wrote:
> >
> > On Tue, Mar 18, 2025 at 07:16:10PM +0800, Jensen Huang wrote:
> > > Commit 0578f1e66a ("global: adapt callers to use generic hash context helpers")
> > > accidentally removed `->init_fn`, which is required for OpenSSL 3+ SHA1.
> > >
> > > This fixes the following error on fetch:
> > >   fatal: fetch-pack: invalid index-pack output
> >
> > The change makes sense indeed. I do wonder though: can we maybe improve
> > `git_hash_clone()` so that it is not required to initialize the context
> > beforehand?
> 
> Thanks for the review!
> The idea of improving git_hash_clone() so that it doesn't require
> explicit init_fn() calls sounds interesting. However, based on my
> current understanding of the code, I'm not sure how to implement this
> properly while ensuring it works correctly for all hash
> implementations.
> If you have any suggestions or guidance on how this could be
> approached, I'd appreciate the input!

Fair enough. I'm also fine with the patch as-is as it addresses the
issue true to the original spirit. Improving `git_hash_clone()` would be
an extra step that doesn't need to be part of this series, nor does it
have to be you who implements it.

Thanks!

Patrick