[PATCH 0/3] pack-objects: simplify add_objects_in_unpacked_packs()
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Aug 30, 2021, 02:48 UTC
- Message-ID
- <cover.1630291682.git.me@ttaylorr.com>
This short series is extracted from mine and Peff's work on cruft packs. These three patches focus on cleaning up add_objects_in_unpacked_packs(), which is used to implement `git repack -k`.
The pay-off for this clean-up is significant, though: we net -50 lines of code, and the result is much more readable, at least in my opinion.
The changes are described in detail in the patch messages, but essentially we are replacing a loop over get_all_packs() with for_each_packed_object() after adding a couple of new flags necessary to make the switch. And once we are done with that, the third patch removes a bit from the object flag allocation table.
Thanks in advance for your review.
Taylor Blau (3): object-store.h: teach for_each_packed_object to ignore kept packs builtin/pack-objects.c: simplify add_objects_in_unpacked_packs() builtin/pack-objects.c: remove duplicate hash lookup
builtin/pack-objects.c | 85 ++++++------------------------------------ object-store.h | 6 +++ object.h | 1 - packfile.c | 6 +++ 4 files changed, 24 insertions(+), 74 deletions(-)
-- 2.33.0.96.g73915697e6