On Tue, Apr 27 2021, Han-Wen Nienhuys via GitGitGadget wrote: > From: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> > > This is more explicit, and reduces the depency between test functions. It also > is more amenable to use with reftable, which has no concept of (non)existence of > a reflog Sounds good in principle, but: > @@ -94,9 +94,7 @@ test_expect_success 'prune: prune unreachable heads' ' > test_expect_success 'prune: do not prune detached HEAD with no reflog' ' > git checkout --detach --quiet && > git commit --allow-empty -m "detached commit" && > - # verify that there is no reflogs > - # (should be removed and disabled by previous test) > - test_path_is_missing .git/logs && > + git reflog expire --all && > git prune -n >prune_actual && > test_must_be_empty prune_actual > ' Isn't the point of the existing test to check that there isn't an existing reflog, not to just expire it if we find it, or does expire --all return non-zero if none was found ? > @@ -104,6 +102,7 @@ test_expect_success 'prune: do not prune detached HEAD with no reflog' ' > test_expect_success 'prune: prune former HEAD after checking out branch' ' > head_oid=$(git rev-parse HEAD) && > git checkout --quiet main && > + git reflog expire --all && > git prune -v >prune_actual && > grep "$head_oid" prune_actual > ' Just skimming this I'm perplexed why this needs expiring now, as opposed to being s/file/command/ changes like the rest...