tb/cruft-packs (was: Re: What's cooking in git.git (Jan 2022, #02; Wed, 5))
From: Taylor Blau <hidden>
Date: 2022-01-06 16:54:26
On Wed, Jan 05, 2022 at 05:56:45PM -0800, Junio C Hamano wrote:
* tb/cruft-packs (2021-11-29) 17 commits . sha1-file.c: don't freshen cruft packs . builtin/gc.c: conditionally avoid pruning objects via loose . builtin/repack.c: add cruft packs to MIDX during geometric repack . builtin/repack.c: use named flags for existing_packs . builtin/repack.c: allow configuring cruft pack generation . builtin/repack.c: support generating a cruft pack . builtin/pack-objects.c: --cruft with expiration . reachable: report precise timestamps from objects in cruft packs . reachable: add options to add_unseen_recent_objects_to_traversal . builtin/pack-objects.c: --cruft without expiration . builtin/pack-objects.c: return from create_object_entry() . t/helper: add 'pack-mtimes' test-tool . pack-mtimes: support writing pack .mtimes files . chunk-format.h: extract oid_version() . pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles' . pack-mtimes: support reading .mtimes files . Documentation/technical: add cruft-packs.txt Instead of leaving unreachable objects in loose form when packing, or ejecting them into loose form when repacking, gather them in a packfile with an auxiliary file that records the last-use time of these objects. Expecting a reroll. cf. [ref] cf. [ref] cf. [ref] source: [ref]
Feel free to eject this for the time being, especially if it makes managing your tree any more convenient. I have a few small things that I want to adjust before sending a new version, which likely won't happen until after we have finished the 2.35 cycle. Thanks, Taylor