Subject: Re: [PATCH 0/3] pack-objects: simplify add_objects_in_unpacked_packs()

From: Junio C Hamano <[email-masked]>
Date: Sun, 29 Aug 2021 23:39:30 -0700

Taylor Blau <[email-masked]> writes:

> 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.

A quite pleasant read.  

Each step looked nicely done and well explained.

Will queue.

Thanks.

>
> 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(-)