Re: [PATCH 08/24] pack-objects: implement `--ignore-disjoint` mode
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Dec 1, 2023, 19:58 UTC
- Message-ID
- <ZWo69V0sNbQCBEeD@nand.local>
- In-Reply-To
- <ZWmWojF6BlOTzkcc@tanuki>
On Fri, Dec 01, 2023 at 09:17:38AM +0100, Patrick Steinhardt wrote:
Show 5 quoted lines
> In something like linux.git with almost 10M objects that boils down to > 23 packfiles, and I'd assume that all of these would be disjoint in the > best case. So if you gain new packfiles by pushing into the repository > then I'd think that it's quite likely that the number of non-disjoint > packfiles is smaller than the number of disjoint ones.
Right, although if you have 10M objects over 23 packs with a geometric repacking factor of two, the last pack should have just around a single object in it. In other words, as soon as you receive a push, your geometric progression will collapse into a single pack.
So having a repository with 10M objects split across 23 packs is a relatively short-lived state. And in general we should only be in that state every time a repository doubles (again, assuming a factor of two).
In that sense, I'd expect relatively few packs to be disjoint, and for each of those packs to have a relatively large number of objects, accounting for most of the non-recent parts of the repository.
Thanks, Taylor