t1400: exercise reflog with gaps with reftable backend

In t1400, we have a test that exercises whether we print a warning
message as expected when the reflog contains entries which have a gap
between the old entry's new object ID and the new entry's old object ID.
While the logic should apply to all ref backends, the test setup writes
into `.git/logs` directly and is thus "files"-backend specific.

Refactor the test to instead use `git reflog delete` to create the gap
and drop the REFFILES prerequisite.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2024-02-15 09:25:38 +01:00
committed by Junio C Hamano
parent e98839843b
commit 129a169874

View File

@ -426,15 +426,15 @@ test_expect_success 'Query "main@{2005-05-28}" (past end of history)' '
rm -f expect
git update-ref -d $m
test_expect_success REFFILES 'query reflog with gap' '
test_expect_success 'query reflog with gap' '
test_when_finished "git update-ref -d $m" &&
git update-ref $m $F &&
cat >.git/logs/$m <<-EOF &&
$Z $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150320 -0500
$A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150380 -0500
$D $F $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150680 -0500
EOF
GIT_COMMITTER_DATE="1117150320 -0500" git update-ref $m $A &&
GIT_COMMITTER_DATE="1117150380 -0500" git update-ref $m $B &&
GIT_COMMITTER_DATE="1117150480 -0500" git update-ref $m $C &&
GIT_COMMITTER_DATE="1117150580 -0500" git update-ref $m $D &&
GIT_COMMITTER_DATE="1117150680 -0500" git update-ref $m $F &&
git reflog delete $m@{2} &&
git rev-parse --verify "main@{2005-05-26 23:33:01}" >actual 2>stderr &&
echo "$B" >expect &&