Subject: Re: What's cooking in git.git (Aug 2025, #05; Mon, 11)

From: Patrick Steinhardt <[email-masked]>
Date: Wed, 13 Aug 2025 09:06:33 +0200

On Tue, Aug 12, 2025 at 10:41:46AM -0400, Taylor Blau wrote:
> On Tue, Aug 12, 2025 at 02:52:41PM +0200, Patrick Steinhardt wrote:
> > > * ps/commit-graph-wo-globals (2025-08-07) 10 commits
> > >  - commit-graph: stop passing in redundant repository
> > >  - commit-graph: stop using `the_repository`
> > >  - commit-graph: stop using `the_hash_algo`
> > >  - commit-graph: refactor `parse_commit_graph()` to take a repository
> > >  - commit-graph: store the hash algorithm instead of its length
> > >  - commit-graph: stop using `the_hash_algo` via macros
> > >  - commit-graph: fix sign comparison warnings
> > >  - commit-graph: fix type for some write options
> > >  - commit-graph: stop using signed integers to count Bloom filters
> > >  - trace2: introduce function to trace unsigned integers
> > >
> > >  Remove dependency on the_repository and other globals from the
> > >  commit-graph code, and other changes unrelated to de-globaling.
> > >
> > >  Will merge to 'next'?
> > >  source: <[email-masked]>
> >
> > I don't intend to reroll this series for now. As long as you are happy
> > with the signedness-related patches I think this should be ready.
> 
> I am still not sold on the first four of these patches, and I share
> Junio's concern[1] that the "int -> unsigned int" changes are not well
> justified.
> 
> As a practical concern, the "max_commits" and "size_mult" values should
> never come even close to INT_MAX, so I am not sure that the wider range
> is giving us all that much. I am a little more convinced by the Bloom
> filter changes, but since they are purely for debugging and also
> exceedingly unlikely to exceed the signed INT_MAX, I do not think they
> are absolutely necessary.
> 
> That said, I don't feel strongly enough about the lack of justification
> here to hold up this series[^2], so I am fine with it moving forward if
> both you and Junio are happy with it as-is. But I am left wanting a
> stronger justification for the first half of the changes.

Fair. I don't want to spend too much time on this signedness topic,
either. So I'd go with either:

  - Taking the signedness patches as-is. They don't regress the status
    quo and allow us to warn about future unintentional signedness bugs,
    even though the fixes are mostly of theoretical value.

  - I drop the signedness-conversion patches altogether.

The more important part for me is to get the second half of patches
merged anyway. So while I think that the first half of patches are nice
to have, I can live with dropping them.

Let me know which of these options you prefer.

Patrick