Subject: Re: [PATCH 4/4] builtin/repack.c: implement `--expire-to` for storing pruned objects

From: Derrick Stolee <[email-masked]>
Date: Mon, 7 Nov 2022 14:42:52 -0500

On 10/24/22 2:43 PM, Taylor Blau wrote:
> When pruning objects with `--cruft`, `git repack` offers some
> flexibility when selecting the set of which objects are pruned via the
> `--cruft-expiration` option.

This patch looks good.

Creating these cruft packs in the expire directory does help
remove the main problem of the race condition. This currently
requires some external system to check that no races happened
and it is safe to delete the pack in the expire directory.
Also, that external tool is needed to move that expired pack
(or preferably, only the necessary objects) back into the
repository.

Some future series could find a way to handle those situations,
perhaps within 'git fsck' to pull missing reachable objects
from the expire directory. Definitely not required for this
series, though.

Thanks,
-Stolee