]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ps/fetch-atomic-fixup'
authorJunio C Hamano <gitster@pobox.com>
Sun, 13 Mar 2022 22:56:17 +0000 (22:56 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 13 Mar 2022 22:56:17 +0000 (22:56 +0000)
Test simplification.

* ps/fetch-atomic-fixup:
  t5503: simplify setup of test which exercises failure of backfill

t/t5503-tagfollow.sh

index e72fdc25346c6b470f89ebcf0c88b341b4a60206..a3c01014b7ee445d7e51c6735faea36f46833bfb 100755 (executable)
@@ -212,21 +212,11 @@ test_expect_success 'atomic fetch with backfill should use single transaction' '
 test_expect_success 'backfill failure causes command to fail' '
        git init clone5 &&
 
-       write_script clone5/.git/hooks/reference-transaction <<-EOF &&
-               while read oldrev newrev reference
-               do
-                       if test "\$reference" = refs/tags/tag1
-                       then
-                               # Create a nested tag below the actual tag we
-                               # wanted to write, which causes a D/F conflict
-                               # later when we want to commit refs/tags/tag1.
-                               # We cannot just `exit 1` here given that this
-                               # would cause us to die immediately.
-                               git update-ref refs/tags/tag1/nested $B
-                               exit \$!
-                       fi
-               done
-       EOF
+       # Create a tag that is nested below the tag we are about to fetch via
+       # the backfill mechanism. This causes a D/F conflict when backfilling
+       # and should thus cause the command to fail.
+       empty_blob=$(git -C clone5 hash-object -w --stdin </dev/null) &&
+       git -C clone5 update-ref refs/tags/tag1/nested $empty_blob &&
 
        test_must_fail git -C clone5 fetch .. $B:refs/heads/something &&
        test $B = $(git -C clone5 rev-parse --verify refs/heads/something) &&