Re: [PATCH v2 09/23] pseudo-merge: implement support for selecting pseudo-merge commits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 13, 2024 at 03:03:40PM -0400, Jeff King wrote:
> On Mon, Apr 29, 2024 at 04:43:37PM -0400, Taylor Blau wrote:
>
> > Teach the new pseudo-merge machinery how to select non-bitmapped commits
> > for inclusion in different pseudo-merge group(s) based on a handful of
> > criteria.
> >
> > Pseudo-merges are derived first from named pseudo-merge groups (see the
> > `bitmapPseudoMerge.<name>.*` configuration options). They are
> > (optionally) further segmented within an individual pseudo-merge group
> > based on any capture group(s) within the pseudo-merge group's pattern.
> >
> > For example, a configuration like so:
> >
> >     [bitmapPseudoMerge "all"]
> >         pattern = "refs/"
> >         threshold = now
> >         stableThreshold = never
> >         sampleRate = 100
> >         maxMerges = 64
> >
> > would group all non-bitmapped commits into up to 64 individual
> > pseudo-merge commits.
>
> I was going to complain that explanatory text like this should probably
> go into the documentation, not a commit message. But I see you do later
> add documentation. Which seems to happen when this code is actually
> wired up to the bitmap-writer. Maybe a moot point now that I figured it
> out, but I think we'd be better off with the two commits squashed
> together.

I dunno. This commit is already rather large, and I like the split of
"here's how we select these things", versus "now we actually start
selecting/writing them".

But maybe it results in a slightly awkward break in the middle that
leaves some of the stuff that would otherwise fit well in the EXAMPLES
section (as you mention below) in a weird limbo state.

> And consider whether this commit message can be shortened a lot to just
> refer to the embedded docs (and especially if there is any useful info
> here that is not covered in the docs, and should be moved there). I do
> think some of these explanatory examples are good for users, but we
> don't necessarily have a good spot to put them. The git-config
> documentation is more of a reference, and huge example sections would
> probably bog it down. Maybe in the EXAMPLES section of pack-objects?
> It's already a pretty big manpage, though, and this is just one tiny
> corner.

There's a good amount of information already in
Documentation/technical/bitmap-format.txt, though perhaps some of the
pieces mentioned here could be added there. Let me know if you think one
is missing something the other has (or if we could move significant
portions of the latter into the former).

> I've got to break here in reviewing for the moment, but I think in a lot
> of ways this commit is going to be the most interesting one, because the
> usefulness of the whole pseudo-merge scheme depends on picking good sets
> of commits (ones that cover a lot of ground but have a low chance of
> being invalidated). So I'll pick up again with a careful look at this
> one.

I agree that this is where things start to get interesting ;-). I'm
looking forward to your review when you get back to it!

Thanks,
Taylor




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux