aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-06-09 16:13:10 -0700
committerJunio C Hamano <gitster@pobox.com>2008-06-09 16:13:10 -0700
commitea81e10ff4e31820407f4cb1b8ebd87de9e51737 (patch)
treecf8b40877e775412070288c0086fb9b70a09e6b3 /t
parent5bcde3082d5f348ff8b02547126746b9b713c8d5 (diff)
parent249c61a62d82c22df98cb72ec61c120887b944e1 (diff)
downloadgit-ea81e10ff4e31820407f4cb1b8ebd87de9e51737.tar.gz
git-ea81e10ff4e31820407f4cb1b8ebd87de9e51737.tar.xz
Merge branch 'js/merge-recursive'
* js/merge-recursive: merge-recursive: respect core.autocrlf when writing out the result Add testcase for merging in a CRLF repo
Diffstat (limited to 't')
-rwxr-xr-xt/t6033-merge-crlf.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/t/t6033-merge-crlf.sh b/t/t6033-merge-crlf.sh
new file mode 100755
index 000000000..75d9602de
--- /dev/null
+++ b/t/t6033-merge-crlf.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+append_cr () {
+ sed -e 's/$/Q/' | tr Q '\015'
+}
+
+remove_cr () {
+ tr '\015' Q | sed -e 's/Q$//'
+}
+
+test_description='merge conflict in crlf repo
+
+ b---M
+ / /
+ initial---a
+
+'
+
+. ./test-lib.sh
+
+test_expect_success setup '
+ git config core.autocrlf true &&
+ echo foo | append_cr >file &&
+ git add file &&
+ git commit -m "Initial" &&
+ git tag initial &&
+ git branch side &&
+ echo line from a | append_cr >file &&
+ git commit -m "add line from a" file &&
+ git tag a &&
+ git checkout side &&
+ echo line from b | append_cr >file &&
+ git commit -m "add line from b" file &&
+ git tag b &&
+ git checkout master
+'
+
+test_expect_success 'Check "ours" is CRLF' '
+ git reset --hard initial &&
+ git merge side -s ours &&
+ cat file | remove_cr | append_cr >file.temp &&
+ test_cmp file file.temp
+'
+
+test_expect_success 'Check that conflict file is CRLF' '
+ git reset --hard a &&
+ test_must_fail git merge side &&
+ cat file | remove_cr | append_cr >file.temp &&
+ test_cmp file file.temp
+'
+
+test_done