Revert "fetch: increase test coverage of fetches"
This reverts commit 2a0cafd464
,
as it expects a working "a ref deletion must produce a single
transaction, not one for loose and another for packed" topic,
which we do not have.
This commit is contained in:
parent
c6da34a610
commit
347cc1b11d
@ -160,68 +160,4 @@ test_expect_success 'new clone fetch main and tags' '
|
|||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'atomic fetch with failing backfill' '
|
|
||||||
git init clone3 &&
|
|
||||||
|
|
||||||
# We want to test whether a failure when backfilling tags correctly
|
|
||||||
# aborts the complete transaction when `--atomic` is passed: we should
|
|
||||||
# neither create the branch nor should we create the tag when either
|
|
||||||
# one of both fails to update correctly.
|
|
||||||
#
|
|
||||||
# To trigger failure we simply abort when backfilling a tag.
|
|
||||||
test_hook -C clone3 reference-transaction <<-\EOF &&
|
|
||||||
while read oldrev newrev reference
|
|
||||||
do
|
|
||||||
if test "$reference" = refs/tags/tag1
|
|
||||||
then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
EOF
|
|
||||||
|
|
||||||
test_must_fail git -C clone3 fetch --atomic .. $B:refs/heads/something &&
|
|
||||||
test_must_fail git -C clone3 rev-parse --verify refs/heads/something &&
|
|
||||||
test_must_fail git -C clone3 rev-parse --verify refs/tags/tag2
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'atomic fetch with backfill should use single transaction' '
|
|
||||||
git init clone4 &&
|
|
||||||
|
|
||||||
# Fetching with the `--atomic` flag should update all references in a
|
|
||||||
# single transaction, including backfilled tags. We thus expect to see
|
|
||||||
# a single reference transaction for the created branch and tags.
|
|
||||||
cat >expected <<-EOF &&
|
|
||||||
prepared
|
|
||||||
$ZERO_OID $B refs/heads/something
|
|
||||||
$ZERO_OID $S refs/tags/tag2
|
|
||||||
$ZERO_OID $T refs/tags/tag1
|
|
||||||
committed
|
|
||||||
$ZERO_OID $B refs/heads/something
|
|
||||||
$ZERO_OID $S refs/tags/tag2
|
|
||||||
$ZERO_OID $T refs/tags/tag1
|
|
||||||
EOF
|
|
||||||
|
|
||||||
test_hook -C clone4 reference-transaction <<-\EOF &&
|
|
||||||
( echo "$*" && cat ) >>actual
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git -C clone4 fetch --atomic .. $B:refs/heads/something &&
|
|
||||||
test_cmp expected clone4/actual
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'backfill failure causes command to fail' '
|
|
||||||
git init clone5 &&
|
|
||||||
|
|
||||||
# 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) &&
|
|
||||||
test $S = $(git -C clone5 rev-parse --verify tag2) &&
|
|
||||||
test_must_fail git -C clone5 rev-parse --verify tag1
|
|
||||||
'
|
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
@ -343,35 +343,6 @@ test_expect_success 'fetch --atomic --append appends to FETCH_HEAD' '
|
|||||||
test_cmp expected atomic/.git/FETCH_HEAD
|
test_cmp expected atomic/.git/FETCH_HEAD
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'fetch --atomic --prune executes a single reference transaction only' '
|
|
||||||
test_when_finished "rm -rf \"$D\"/atomic" &&
|
|
||||||
|
|
||||||
cd "$D" &&
|
|
||||||
git branch scheduled-for-deletion &&
|
|
||||||
git clone . atomic &&
|
|
||||||
git branch -D scheduled-for-deletion &&
|
|
||||||
git branch new-branch &&
|
|
||||||
head_oid=$(git rev-parse HEAD) &&
|
|
||||||
|
|
||||||
# Fetching with the `--atomic` flag should update all references in a
|
|
||||||
# single transaction.
|
|
||||||
cat >expected <<-EOF &&
|
|
||||||
prepared
|
|
||||||
$ZERO_OID $ZERO_OID refs/remotes/origin/scheduled-for-deletion
|
|
||||||
$ZERO_OID $head_oid refs/remotes/origin/new-branch
|
|
||||||
committed
|
|
||||||
$ZERO_OID $ZERO_OID refs/remotes/origin/scheduled-for-deletion
|
|
||||||
$ZERO_OID $head_oid refs/remotes/origin/new-branch
|
|
||||||
EOF
|
|
||||||
|
|
||||||
test_hook -C atomic reference-transaction <<-\EOF &&
|
|
||||||
( echo "$*" && cat ) >>actual
|
|
||||||
EOF
|
|
||||||
|
|
||||||
git -C atomic fetch --atomic --prune origin &&
|
|
||||||
test_cmp expected atomic/actual
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success '--refmap="" ignores configured refspec' '
|
test_expect_success '--refmap="" ignores configured refspec' '
|
||||||
cd "$TRASH_DIRECTORY" &&
|
cd "$TRASH_DIRECTORY" &&
|
||||||
git clone "$D" remote-refs &&
|
git clone "$D" remote-refs &&
|
||||||
|
Loading…
Reference in New Issue
Block a user