Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
commit
1b593e1ea4
3629 changed files with 1139935 additions and 0 deletions
58
t/t3035-merge-sparse.sh
Executable file
58
t/t3035-merge-sparse.sh
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
#!/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
|
||||
Loading…
Add table
Add a link
Reference in a new issue