This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232, reversing changes made tof2b211131f.
58 lines
1.2 KiB
Bash
Executable file
58 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='merge with sparse files'
|
|
|
|
. ./test-lib.sh
|
|
|
|
# test_file $filename $content
|
|
test_file () {
|
|
echo "$2" > "$1" &&
|
|
git add "$1"
|
|
}
|
|
|
|
# test_commit_this $message_and_tag
|
|
test_commit_this () {
|
|
git commit -m "$1" &&
|
|
git tag "$1"
|
|
}
|
|
|
|
test_expect_success 'setup' '
|
|
test_file checked-out init &&
|
|
test_file modify_delete modify_delete_init &&
|
|
test_commit_this init &&
|
|
test_file modify_delete modify_delete_theirs &&
|
|
test_commit_this theirs &&
|
|
git reset --hard init &&
|
|
git rm modify_delete &&
|
|
test_commit_this ours &&
|
|
git config core.sparseCheckout true &&
|
|
echo "/checked-out" >.git/info/sparse-checkout &&
|
|
git reset --hard &&
|
|
! git merge theirs
|
|
'
|
|
|
|
test_expect_success 'reset --hard works after the conflict' '
|
|
git reset --hard
|
|
'
|
|
|
|
test_expect_success 'is reset properly' '
|
|
git status --porcelain -- modify_delete >out &&
|
|
test_must_be_empty out &&
|
|
test_path_is_missing modify_delete
|
|
'
|
|
|
|
test_expect_success 'setup: conflict back' '
|
|
! git merge theirs
|
|
'
|
|
|
|
test_expect_success 'Merge abort works after the conflict' '
|
|
git merge --abort
|
|
'
|
|
|
|
test_expect_success 'is aborted properly' '
|
|
git status --porcelain -- modify_delete >out &&
|
|
test_must_be_empty out &&
|
|
test_path_is_missing modify_delete
|
|
'
|
|
|
|
test_done
|