Subject: Re: [PATCH v3 00/10] repack: fix geometric repacking with gitalternates

From: Junio C Hamano <[email-masked]>
Date: Thu, 13 Apr 2023 19:03:48 -0700

Patrick Steinhardt <[email-masked]> writes:

> Changes compared to v2:
>
>     - I've simplified patch 1 to reset the preferred pack index instead
>       of moving around some of the checks. This also causes us to print
>       the warning for missing preferred packfiles again.
>
>     - I've fixed the logic in patch 2 to find the preferred packfile to
>       not return a packfile that would be rolled up in a geometric
>       repack.
>
>     - I've added an additional patch to split out preexisting tests for
>       `--stdin-packs` into their own test file.
>
>     - I've changed the unportable test added for geometric repacking
>       with `-l` that used stat(1) to instead use our `test-tool chmtime`
>       helper.
>
>     - I've changed the logic that disables writing bitmaps in git-repack
>       to cover more cases. It now always kicks in when doing a repack
>       with `-l` that asks for bitmaps when connected to an alternate
>       object directory.
>
>     - In general, there's a bunch of small improvements left and right
>       for the tests I'm adding.
>
> Thanks for all the feedback so far.

Loss of "stat" is very much appreciated, as the ones added
in the previous round were the only hits from

    $ git grep '^[    ]*stat ' t/ ;# leading SP/HT plus "stat "

and I suspect among platforms that are not Windows, not Linux, and
not macOS, there may be ones that lack the tool.

With a few fix-ups to the test script I sent to the thread for the
review of [09/10] squashed in, this topic however seems to cause the
linux-TEST-vars job fail when queued at the tip of 'seen' (bbfd3bf)
[*1*].  When 'seen' is rewound by one merge to exclude this topic,
the CI runs OK (c35f3cd)[*2*].  I dug only far enough to identify
which topic among 40+ ones was causing the CI breakage.  Perhaps the
code is operating correctly but the expectation in the test needs
updating?  I dunno.

Thanks.

[References]
*1* https://github.com/git/git/actions/runs/4694670520/jobs/8323047888#step:5:313
*2* https://github.com/git/git/actions/runs/4694155668