Subject: Re: [PATCH 5/9] builtin/repack.c: move `.idx` files into place last

From: Junio C Hamano <[email-masked]>
Date: Thu, 09 Sep 2021 12:38:52 -0700

Taylor Blau <[email-masked]> writes:

> In a similar spirit as the previous patch, fix the identical problem
> from `git repack` (which invokes `pack-objects` with a temporary
> location for output, and then moves the files into their final locations
> itself).

OK.  This array is used in cmd_repack() to call rename() in the
order in which its elements appear, so moving the entry to the last
means it will be renamed the last.

> Signed-off-by: Taylor Blau <[email-masked]>
> Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
> Signed-off-by: Taylor Blau <[email-masked]>
> ---
>  builtin/repack.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/repack.c b/builtin/repack.c
> index 5f9bc74adc..c3e4771609 100644
> --- a/builtin/repack.c
> +++ b/builtin/repack.c
> @@ -208,10 +208,10 @@ static struct {
>  	unsigned optional:1;
>  } exts[] = {
>  	{".pack"},
> -	{".idx"},
>  	{".rev", 1},
>  	{".bitmap", 1},
>  	{".promisor", 1},
> +	{".idx"},
>  };

And the .idx entry MUST stay the last.  I wonder if dropping the
trailing comma and replace it with a "/* must be at the end */"
comment would be an effective way to ensure that.