47 lines
763 B
Bash
Executable File
47 lines
763 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='forced push to replace commit we do not have'
|
|
|
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
|
|
>file1 && git add file1 && test_tick &&
|
|
git commit -m Initial &&
|
|
git config receive.denyCurrentBranch warn &&
|
|
|
|
mkdir another && (
|
|
cd another &&
|
|
git init &&
|
|
git fetch --update-head-ok .. main:main
|
|
) &&
|
|
|
|
>file2 && git add file2 && test_tick &&
|
|
git commit -m Second
|
|
|
|
'
|
|
|
|
test_expect_success 'non forced push should die not segfault' '
|
|
|
|
(
|
|
cd another &&
|
|
test_must_fail git push .. main:main
|
|
)
|
|
|
|
'
|
|
|
|
test_expect_success 'forced push should succeed' '
|
|
|
|
(
|
|
cd another &&
|
|
git push .. +main:main
|
|
)
|
|
|
|
'
|
|
|
|
test_done
|