@ -302,6 +302,49 @@ test_expect_success 'push with HEAD nonexisting at remote' '
@@ -302,6 +302,49 @@ test_expect_success 'push with HEAD nonexisting at remote' '
check_push_result $the_commit heads/local
'
test_expect_success 'push with +HEAD' '
mk_test heads/master &&
git checkout master &&
git branch -D local &&
git checkout -b local &&
git push testrepo master local &&
check_push_result $the_commit heads/master &&
check_push_result $the_commit heads/local &&
# Without force rewinding should fail
git reset --hard HEAD^ &&
! git push testrepo HEAD &&
check_push_result $the_commit heads/local &&
# With force rewinding should succeed
git push testrepo +HEAD &&
check_push_result $the_first_commit heads/local
'
test_expect_success 'push with config remote.*.push = HEAD' '