"Theodore Ts'o" [off-list ref] writes:
Which got me thinking.... the whole point of leaving the objects loose
is to make it easier to expire them, right? But given how expensive it
is to have loose objects lying around, why not:
a) Have git-pack-objects have an option which writes the unreachable
objects into a separate pack file, instead of kicking them loose?
b) Have git-prune delete a pack only if *all* of the objects in the
pack meet the expiry deadline?
What would be the downsides of pursueing such a strategy? Is it worth
trying to implement as proof-of-concept?
I do not offhand see a downside; as a matter of fact, there has
already been the first-step change in the direction in v1.7.10.2
and newer that avoids exploading the unreachable ones into loose
object if we know they are going to be immediately pruned.