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. 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. So I dunno. I just want to make sure we don't bury useful information in a commit message that most people won't see (something I've definitely been guilty of in the past, and which has later caused problems). 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. -Peff