| test_description='merge with sparse files' |
| # test_file $filename $content |
| # test_commit_this $message_and_tag |
| test_expect_success 'setup' ' |
| test_file checked-out init && |
| test_file modify_delete modify_delete_init && |
| test_file modify_delete modify_delete_theirs && |
| test_commit_this theirs && |
| git config core.sparseCheckout true && |
| echo "/checked-out" >.git/info/sparse-checkout && |
| test_expect_success 'reset --hard works after the conflict' ' |
| 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' ' |
| test_expect_success 'Merge abort works after the conflict' ' |
| test_expect_success 'is aborted properly' ' |
| git status --porcelain -- modify_delete >out && |
| test_must_be_empty out && |
| test_path_is_missing modify_delete |