Subject: Re: [PATCH] prune: quiet ENOENT on missing directories

From: Junio C Hamano <[email-masked]>
Date: Mon, 21 Nov 2022 22:08:42 +0900

Eric Wong <[email-masked]> writes:

> Good question, perhaps this could be a followup:
>
> diff --git a/builtin/prune.c b/builtin/prune.c
> index 2719220108..041c45ecbe 100644
> --- a/builtin/prune.c
> +++ b/builtin/prune.c
> @@ -188,7 +188,6 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
>  				      prune_cruft, prune_subdir, &revs);
>  
>  	prune_packed_objects(show_only ? PRUNE_PACKED_DRY_RUN : 0);
> -	remove_temporary_files(get_object_directory());
>  	s = mkpathdup("%s/pack", get_object_directory());
>  	remove_temporary_files(s);
>  	free(s);

I actually was hinting at making the remove_temporary_files()
recurse, so that you do not need the separate invocation in pack/
subdirectory.

Or make 256 calls for each of the fan-out subdirectory, in which
case the ENOENT silencing you did would really matter and shine.