Re: [PATCH] t5520: don't expire reflogs where it matters
flat view
From: D. Ben Knoble <hidden>
Date: 2026-09-29 11:48:20
On Mon, Sep 28, 2026 at 4:45 PM Ben Knoble [off-list ref] wrote:
quoted
Le 28 sept. 2026 à 10:38, Thomas Bachem via GitGitGadget [off-list ref] a écrit : From: Thomas Bachem [off-list ref] The "--rebase -f with rebased upstream" test computes its fork point from the reflog of refs/remotes/me/copy, and the entry it needs is the one that the fetch of the test before it wrote. Like every reflog entry the suite writes after test_tick, it is dated 2005, so the first "git reflog expire --all" after that fetch removes it. Pull then finds no fork point and rebases onto the merge head with the merge head as the upstream, and the rewound commits come back as a conflict. Since 452b12c2e0 (builtin/maintenance: use "geometric" strategy by default, 2026-02-24) auto maintenance runs that expiry once the reflog of HEAD holds a hundred entries it would remove, the default of maintenance.reflog-expire.auto. Which run crosses the threshold depends on the entries and maintenance runs before it, so the script passed by chance: a stash topic that no longer runs "git reset" from "stash apply --index" and a rebase topic that runs auto maintenance at the end of "git rebase" together move the expiry between the two tests. Pin the expiry as ea7d894f44 (t34xx: don't expire reflogs where it matters, 2026-02-24) did for the rebase tests. That covers a "git gc" as well, which expires reflogs on its own, where turning off the auto trigger of the reflog-expire task alone would not. Reported-by: Junio C Hamano <redacted> Helped-by: D. Ben Knoble [off-list ref] Helped-by: Phillip Wood [off-list ref] Assisted-by: Claude Fable 5.1 Signed-off-by: Thomas Bachem <redacted> --- t5520: don't expire reflogs where it matters The t5520 failure Junio saw in 'seen' with Ben Knoble's stash series, bisected by Ben to tb/rerere-lock-grace and taken apart in the thread: https://lore.kernel.org/git/a59c4225-f093-4001-b77a-2083dfecce6e@gmail.com/ (local)Junio, if it’s simpler for you this way: I’ll just pick this patch into my series rather than wait for it to appear in seen and recreate my topic on master + it.
I've confirmed this changes fixes the test interaction between our two topics.