Re: [PATCH 11/11] midx-write.c: use `--stdin-packs` when repacking
- From
Jeff King <peff@peff.net>
- Date
- Mar 27, 2024, 08:37 UTC
- Message-ID
- <20240327083725.GC830163@coredump.intra.peff.net>
- In-Reply-To
- <736be63234baf7fc6df8259d9bb7298858b2bc74.1711387439.git.me@ttaylorr.com>
On Mon, Mar 25, 2024 at 01:24:50PM -0400, Taylor Blau wrote:
Show 14 quoted lines
> Though correct, this typically yields a poorly structured pack, since > providing the objects list over stdin does not give pack-objects a > chance to discover the namehash values for each object, leading to > sub-optimal delta selection. > > We can use `--stdin-packs` instead, which has a couple of benefits: > > - it does a supplemental walk over objects in the supplied list of > packs to discover their namehash, leading to higher-quality delta > selection > > - it requires us to list far less data over stdin; instead of listing > each object in the resulting pack, we need only list the > constituent packs from which those objects were selected in the MIDX
Yeah, using --stdin-packs makes much more sense to me. I have to admit that I do not really see the point "multi-pack-index repack" in the first place. You'd presumably be better off with geometric repacking, and I think "repack --geometric --write-midx" will do things in the right order (new pack, then write midx, then delete redundant packs).
I guess "multi-pack-index repack" came before geometric repacking, and is maybe redundant-ish now? If that's the case, then I guess I don't care that much about optimizing its packs. ;) But we can't really delete it without a deprecation period, so making it more sensible in the meantime is reasonable to me.
-Peff