Re: [PATCH 1/2] prepare_packed_git(): refactor garbage reporting in pack directory
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Aug 13, 2015, 18:46 UTC
- Message-ID
- <CAPig+cS0ntr1sYzVAPjNCwd8ei4oGQRNs+W=qMBV4Z6NaRWCWA@mail.gmail.com>
- In-Reply-To
- <1439488973-11522-1-git-send-email-dougk.ff7@gmail.com>
On Thu, Aug 13, 2015 at 2:02 PM, Doug Kelly <dougk.ff7@gmail.com> wrote:
Show 13 quoted lines
> From: Junio C Hamano <gitster@pobox.com> > > The hook to report "garbage" files in $GIT_OBJECT_DIRECTORY/pack/ > could be generic but is too specific to count-object's needs. > > Move the part to produce human-readable messages to count-objects, > and refine the interface to callback with the "bits" with values > defined in the cache.h header file, so that other callers (e.g. > prune) can later use the same mechanism to enumerate different > kinds of garbage files and do something intelligent about them, > other than reporting in textual messages. > > Signed-off-by: Junio C Hamano <gitster@pobox.com>
Since you're forwarding Junio's patch, you'd also want to sign-off (following his).
Show 11 quoted lines
> --- > diff --git a/builtin/count-objects.c b/builtin/count-objects.c > index ad0c799..4c3198e 100644 > --- a/builtin/count-objects.c > +++ b/builtin/count-objects.c > @@ -15,9 +15,31 @@ static int verbose; > static unsigned long loose, packed, packed_loose; > static off_t loose_size; > > -static void real_report_garbage(const char *desc, const char *path) > +const char *bits_to_msg(unsigned seen_bits)
If you don't expect other callers outside this file, then this should be declared 'static'. If you do expect future external callers, then this should be declared in a public header file (but renamed to be more meaningful).
Show 15 quoted lines
> +{
> + switch (seen_bits) {
> + case 0:
> + return "no corresponding .idx or .pack";
> + case PACKDIR_FILE_GARBAGE:
> + return "garbage found";
> + case PACKDIR_FILE_PACK:
> + return "no corresponding .idx";
> + case PACKDIR_FILE_IDX:
> + return "no corresponding .pack";
> + case PACKDIR_FILE_PACK|PACKDIR_FILE_IDX:
> + default:
> + return NULL;
> + }
> +}