This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232, reversing changes made tof2b211131f.
96 lines
1.3 KiB
Bash
Executable file
96 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2005 Fredrik Kuivinen
|
|
#
|
|
|
|
# See http://marc.info/?l=git&m=111463358500362&w=2 for a
|
|
# nice description of what this is about.
|
|
|
|
|
|
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_done
|