summaryrefslogtreecommitdiff
path: root/t/t3032-merge-recursive-options.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/t3032-merge-recursive-options.sh')
-rwxr-xr-xt/t3032-merge-recursive-options.sh25
1 files changed, 21 insertions, 4 deletions
diff --git a/t/t3032-merge-recursive-options.sh b/t/t3032-merge-recursive-options.sh
index 2293797553..2b17311cb0 100755
--- a/t/t3032-merge-recursive-options.sh
+++ b/t/t3032-merge-recursive-options.sh
@@ -13,16 +13,19 @@ test_description='merge-recursive options
. ./test-lib.sh
+test_have_prereq SED_STRIPS_CR && SED_OPTIONS=-b
+test_have_prereq MINGW && export GREP_OPTIONS=-U
+
test_expect_success 'setup' '
conflict_hunks () {
- sed -n -e "
- /^<<<</ b inconflict
+ sed $SED_OPTIONS -n -e "
+ /^<<<</ b conflict
b
- : inconflict
+ : conflict
p
/^>>>>/ b
n
- b inconflict
+ b conflict
" "$@"
} &&
@@ -107,6 +110,20 @@ test_expect_success '--ignore-space-change makes merge succeed' '
git merge-recursive --ignore-space-change HEAD^ -- HEAD remote
'
+test_expect_success 'naive cherry-pick fails' '
+ git read-tree --reset -u HEAD &&
+ test_must_fail git cherry-pick --no-commit remote &&
+ git read-tree --reset -u HEAD &&
+ test_must_fail git cherry-pick remote &&
+ test_must_fail git update-index --refresh &&
+ grep "<<<<<<" text.txt
+'
+
+test_expect_success '-Xignore-space-change makes cherry-pick succeed' '
+ git read-tree --reset -u HEAD &&
+ git cherry-pick --no-commit -Xignore-space-change remote
+'
+
test_expect_success '--ignore-space-change: our w/s-only change wins' '
q_to_cr <<-\EOF >expected &&
justice and holiness and is the nurse of his age and theQ