Re: [PATCH v2 12/21] t5304: use "reflog expire --all" to clear the reflog
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- May 20, 2021, 15:27 UTC
- Message-ID
- <87sg2hpgpk.fsf@evledraar.gmail.com>
- In-Reply-To
- <d8e80d83b6f8ee929b187aaffd5f37c3c981b50b.1619519903.git.gitgitgadget@gmail.com>
On Tue, Apr 27 2021, Han-Wen Nienhuys via GitGitGadget wrote:
Show 5 quoted lines
> From: Han-Wen Nienhuys <hanwen@google.com> > > 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:
Show 11 quoted lines
> @@ -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 ?
Show 8 quoted lines
> @@ -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...