]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t6021-merge-criss-cross.sh
The sixth batch
[thirdparty/git.git] / t / t6021-merge-criss-cross.sh
index d254e020b6d13f4955e0e10141e6f5bc4722a13f..9d5e992878fad10f20c404a0dd676261345b2973 100755 (executable)
 test_description='Test criss-cross merge'
 . ./test-lib.sh
 
-test_expect_success 'prepare repository' \
-'echo "1
-2
-3
-4
-5
-6
-7
-8
-9" > file &&
-git add file &&
-git commit -m "Initial commit" file &&
-git branch A &&
-git branch B &&
-git checkout A &&
-echo "1
-2
-3
-4
-5
-6
-7
-8 changed in B8, branch A
-9" > file &&
-git commit -m "B8" file &&
-git checkout B &&
-echo "1
-2
-3 changed in C3, branch B
-4
-5
-6
-7
-8
-9
-" > file &&
-git commit -m "C3" file &&
-git branch C3 &&
-git merge -m "pre E3 merge" A &&
-echo "1
-2
-3 changed in E3, branch B. New file size
-4
-5
-6
-7
-8 changed in B8, branch A
-9
-" > file &&
-git commit -m "E3" file &&
-git checkout A &&
-git merge -m "pre D8 merge" C3 &&
-echo "1
-2
-3 changed in C3, branch B
-4
-5
-6
-7
-8 changed in D8, branch A. New file size 2
-9" > file &&
-git commit -m D8 file'
-
-test_expect_success 'Criss-cross merge' 'git merge -m "final merge" B'
-
-cat > file-expect <<EOF
-1
-2
-3 changed in E3, branch B. New file size
-4
-5
-6
-7
-8 changed in D8, branch A. New file size 2
-9
-EOF
-
-test_expect_success 'Criss-cross merge result' 'cmp file file-expect'
-
-test_expect_success 'Criss-cross merge fails (-s resolve)' \
-'git reset --hard A^ &&
-test_must_fail git merge -s resolve -m "final merge" B'
+test_expect_success 'prepare repository' '
+       test_write_lines 1 2 3 4 5 6 7 8 9 >file &&
+       git add file &&
+       git commit -m "Initial commit" file &&
+
+       git branch A &&
+       git branch B &&
+       git checkout A &&
+
+       test_write_lines 1 2 3 4 5 6 7 "8 changed in B8, branch A" 9 >file &&
+       git commit -m "B8" file &&
+       git checkout B &&
+
+       test_write_lines 1 2 "3 changed in C3, branch B" 4 5 6 7 8 9 >file &&
+       git commit -m "C3" file &&
+       git branch C3 &&
+
+       git merge -m "pre E3 merge" A &&
+
+       test_write_lines 1 2 "3 changed in E3, branch B. New file size" 4 5 6 7 "8 changed in B8, branch A" 9 >file &&
+       git commit -m "E3" file &&
+
+       git checkout A &&
+       git merge -m "pre D8 merge" C3 &&
+       test_write_lines 1 2 "3 changed in C3, branch B" 4 5 6 7 "8 changed in D8, branch A. New file size 2" 9 >file &&
+
+       git commit -m D8 file
+'
+
+test_expect_success 'Criss-cross merge' '
+       git merge -m "final merge" B
+'
+
+test_expect_success 'Criss-cross merge result' '
+       cat <<-\EOF >file-expect &&
+       1
+       2
+       3 changed in E3, branch B. New file size
+       4
+       5
+       6
+       7
+       8 changed in D8, branch A. New file size 2
+       9
+       EOF
+
+       test_cmp file-expect file
+'
+
+test_expect_success 'Criss-cross merge fails (-s resolve)' '
+       git reset --hard A^ &&
+       test_must_fail git merge -s resolve -m "final merge" B
+'
 
 test_done