add for_each_reflog_ent() iterator
[git/dscho.git] / t / t6023-merge-file.sh
blob5d9b6f34b84dd798f180d181aff4a7857bcd93ef
1 #!/bin/sh
3 test_description='RCS merge replacement: merge-file'
4 . ./test-lib.sh
6 cat > orig.txt << EOF
7 Dominus regit me,
8 et nihil mihi deerit.
9 In loco pascuae ibi me collocavit,
10 super aquam refectionis educavit me;
11 animam meam convertit,
12 deduxit me super semitas jusitiae,
13 propter nomen suum.
14 EOF
16 cat > new1.txt << EOF
17 Dominus regit me,
18 et nihil mihi deerit.
19 In loco pascuae ibi me collocavit,
20 super aquam refectionis educavit me;
21 animam meam convertit,
22 deduxit me super semitas jusitiae,
23 propter nomen suum.
24 Nam et si ambulavero in medio umbrae mortis,
25 non timebo mala, quoniam tu mecum es:
26 virga tua et baculus tuus ipsa me consolata sunt.
27 EOF
29 cat > new2.txt << EOF
30 Dominus regit me, et nihil mihi deerit.
31 In loco pascuae ibi me collocavit,
32 super aquam refectionis educavit me;
33 animam meam convertit,
34 deduxit me super semitas jusitiae,
35 propter nomen suum.
36 EOF
38 cat > new3.txt << EOF
39 DOMINUS regit me,
40 et nihil mihi deerit.
41 In loco pascuae ibi me collocavit,
42 super aquam refectionis educavit me;
43 animam meam convertit,
44 deduxit me super semitas jusitiae,
45 propter nomen suum.
46 EOF
48 cat > new4.txt << EOF
49 Dominus regit me, et nihil mihi deerit.
50 In loco pascuae ibi me collocavit,
51 super aquam refectionis educavit me;
52 animam meam convertit,
53 deduxit me super semitas jusitiae,
54 EOF
55 echo -n "propter nomen suum." >> new4.txt
57 cp new1.txt test.txt
58 test_expect_success "merge without conflict" \
59 "git-merge-file test.txt orig.txt new2.txt"
61 cp new1.txt test2.txt
62 test_expect_success "merge without conflict (missing LF at EOF)" \
63 "git-merge-file test2.txt orig.txt new2.txt"
65 test_expect_success "merge result added missing LF" \
66 "diff -u test.txt test2.txt"
68 cp test.txt backup.txt
69 test_expect_failure "merge with conflicts" \
70 "git-merge-file test.txt orig.txt new3.txt"
72 cat > expect.txt << EOF
73 <<<<<<< test.txt
74 Dominus regit me, et nihil mihi deerit.
75 =======
76 DOMINUS regit me,
77 et nihil mihi deerit.
78 >>>>>>> new3.txt
79 In loco pascuae ibi me collocavit,
80 super aquam refectionis educavit me;
81 animam meam convertit,
82 deduxit me super semitas jusitiae,
83 propter nomen suum.
84 Nam et si ambulavero in medio umbrae mortis,
85 non timebo mala, quoniam tu mecum es:
86 virga tua et baculus tuus ipsa me consolata sunt.
87 EOF
89 test_expect_success "expected conflict markers" "diff -u test.txt expect.txt"
91 cp backup.txt test.txt
92 test_expect_failure "merge with conflicts, using -L" \
93 "git-merge-file -L 1 -L 2 test.txt orig.txt new3.txt"
95 cat > expect.txt << EOF
96 <<<<<<< 1
97 Dominus regit me, et nihil mihi deerit.
98 =======
99 DOMINUS regit me,
100 et nihil mihi deerit.
101 >>>>>>> new3.txt
102 In loco pascuae ibi me collocavit,
103 super aquam refectionis educavit me;
104 animam meam convertit,
105 deduxit me super semitas jusitiae,
106 propter nomen suum.
107 Nam et si ambulavero in medio umbrae mortis,
108 non timebo mala, quoniam tu mecum es:
109 virga tua et baculus tuus ipsa me consolata sunt.
112 test_expect_success "expected conflict markers, with -L" \
113 "diff -u test.txt expect.txt"
115 test_done