Skip to content

Commit de004e8

Browse files
pks-tgitster
authored andcommitted
t5503: simplify setup of test which exercises failure of backfill
In the testcase to exercise backfilling of tags for fetches we evoke a failure of the backfilling mechanism by creating a reference that later on causes a D/F conflict. Because the assumption was that git-fetch(1) would notice the D/F conflict early on this conflicting reference was created via the reference-transaction hook just when we were about to write the backfilled tag. As it turns out though this is not the case, and the fetch fails in the same way when we create the conflicting ref up front. Simplify the test setup creating the reference up front, which allows us to get rid of the hook script. Signed-off-by: Patrick Steinhardt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 583bc41 commit de004e8

File tree

1 file changed

+5
-15
lines changed

1 file changed

+5
-15
lines changed

t/t5503-tagfollow.sh

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -212,21 +212,11 @@ test_expect_success 'atomic fetch with backfill should use single transaction' '
212212
test_expect_success 'backfill failure causes command to fail' '
213213
git init clone5 &&
214214
215-
write_script clone5/.git/hooks/reference-transaction <<-EOF &&
216-
while read oldrev newrev reference
217-
do
218-
if test "\$reference" = refs/tags/tag1
219-
then
220-
# Create a nested tag below the actual tag we
221-
# wanted to write, which causes a D/F conflict
222-
# later when we want to commit refs/tags/tag1.
223-
# We cannot just `exit 1` here given that this
224-
# would cause us to die immediately.
225-
git update-ref refs/tags/tag1/nested $B
226-
exit \$!
227-
fi
228-
done
229-
EOF
215+
# Create a tag that is nested below the tag we are about to fetch via
216+
# the backfill mechanism. This causes a D/F conflict when backfilling
217+
# and should thus cause the command to fail.
218+
empty_blob=$(git -C clone5 hash-object -w --stdin </dev/null) &&
219+
git -C clone5 update-ref refs/tags/tag1/nested $empty_blob &&
230220
231221
test_must_fail git -C clone5 fetch .. $B:refs/heads/something &&
232222
test $B = $(git -C clone5 rev-parse --verify refs/heads/something) &&

0 commit comments

Comments
 (0)