t5516: test pushing two refspecs creating the same new branch
Pushing two refspecs that create the same new branch fails client-side as desired with "dst ref <dst> receives from more than one src", as long as the remote advertises at least one ref. But pushing the same to an empty remote does not fail client-side as expected: a --dry-run push prints "[new branch]" twice, and an actual push fails on the server side with "multiple updates for ref '<dst>' not allowed". Add tests for both remotes, with and without --dry-run. The empty repo passes are marked as test_expect_failure, in preparation for a commit that includes a fix and toggles them to test_expect_success. Signed-off-by: Jon Simons <jon@jonsimons.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>seen
parent
1d803681e1
commit
732abd6821
|
|
@ -400,6 +400,42 @@ test_expect_success 'push with no ambiguity (2)' '
|
|||
check_push_result testrepo $the_commit remotes/origin/main
|
||||
'
|
||||
|
||||
test_expect_success 'push --dry-run two refspecs targeting the same ref fails' '
|
||||
mk_test testrepo heads/main &&
|
||||
test_must_fail git push --dry-run testrepo main:frotz main:frotz 2>err &&
|
||||
test_grep "dst ref refs/heads/frotz receives from more than one src" err
|
||||
'
|
||||
|
||||
test_expect_success 'push two refspecs targeting the same ref fails' '
|
||||
mk_test testrepo heads/main &&
|
||||
test_must_fail git push testrepo main:frotz main:frotz 2>err &&
|
||||
test_grep "dst ref refs/heads/frotz receives from more than one src" err
|
||||
'
|
||||
|
||||
test_expect_failure 'push --dry-run two refspecs creating the same ref fails on empty repo' '
|
||||
mk_empty testrepo &&
|
||||
test_must_fail git push --dry-run testrepo main:frotz main:frotz 2>err &&
|
||||
test_grep "dst ref refs/heads/frotz receives from more than one src" err
|
||||
'
|
||||
|
||||
test_expect_failure 'push two refspecs creating the same ref fails on empty repo' '
|
||||
mk_empty testrepo &&
|
||||
test_must_fail git push testrepo main:frotz main:frotz 2>err &&
|
||||
test_grep "dst ref refs/heads/frotz receives from more than one src" err
|
||||
'
|
||||
|
||||
test_expect_failure 'push --dry-run abbreviated then full refspec creating the same ref fails on empty repo' '
|
||||
mk_empty testrepo &&
|
||||
test_must_fail git push --dry-run testrepo main:frotz main:refs/heads/frotz 2>err &&
|
||||
test_grep "dst ref refs/heads/frotz receives from more than one src" err
|
||||
'
|
||||
|
||||
test_expect_failure 'push abbreviated then full refspec creating the same ref fails on empty repo' '
|
||||
mk_empty testrepo &&
|
||||
test_must_fail git push testrepo main:frotz main:refs/heads/frotz 2>err &&
|
||||
test_grep "dst ref refs/heads/frotz receives from more than one src" err
|
||||
'
|
||||
|
||||
test_expect_success 'push with colon-less refspec, no ambiguity' '
|
||||
mk_test testrepo heads/main heads/t/main &&
|
||||
git branch -f t/main main &&
|
||||
|
|
|
|||
Loading…
Reference in New Issue