Re: [PATCH 3/7] t1400: exercise reflog with gaps with reftable backend
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 14, 2024, 22:59 UTC
- Message-ID
- <xmqqh6iatzxc.fsf@gitster.g>
- In-Reply-To
- <9d8eed354ee3f0c9f66c22d92afd4c4c80f102e4.1707463221.git.ps@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 8 quoted lines
> 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.
This rewrite looks good.
Instead of mucking with the implementation detail, we achieve the same with proper use of the tools provided. Very nice.
Thanks.
Show 32 quoted lines
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> t/t1400-update-ref.sh | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
> index 3294b7ce08..3aeb103d34 100755
> --- a/t/t1400-update-ref.sh
> +++ b/t/t1400-update-ref.sh
> @@ -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 &&