3 # Copyright (c) 2005 Junio C Hamano
4 # Copyright (c) 2005 Robert Fitzsimons
7 test_description
='git apply test patches with multiple fragments.
14 cat > patch1.
patch <<\EOF
15 diff --git a
/main.c b
/main.c
23 +void print_int
(int num
);
28 + for (i
= 0; i
< 10; i
++) {
39 +void print_int
(int num
) {
44 cat > patch2.
patch <<\EOF
45 diff --git a
/main.c b
/main.c
53 void print_int
(int num
);
76 cat > patch3.
patch <<\EOF
77 diff --git a
/main.c b
/main.c
85 void print_int
(int num
);
108 cat > patch4.
patch <<\EOF
109 diff --git a
/main.c b
/main.c
116 -void print_int
(int num
);
122 for (i
= 0; i
< 10; i
++) {
123 - print_int
(func
(i
));
124 + printf("%d", func
(i
));
125 + printf("%d", func3
(i
));
133 -void print_int
(int num
) {
135 +int func2
(int num
) {
136 + return num
* num
* num
;
141 test_expect_success
"S = git apply (1)" \
142 'git apply patch1.patch patch2.patch'
145 test_expect_success
"S = patch (1)" \
146 'cat patch1.patch patch2.patch | patch -p1'
148 test_expect_success
"S = cmp (1)" \
149 'cmp main.c.git main.c'
151 rm -f main.c main.c.git
153 test_expect_success
"S = git apply (2)" \
154 'git apply patch1.patch patch2.patch patch3.patch'
157 test_expect_success
"S = patch (2)" \
158 'cat patch1.patch patch2.patch patch3.patch | patch -p1'
160 test_expect_success
"S = cmp (2)" \
161 'cmp main.c.git main.c'
163 rm -f main.c main.c.git
165 test_expect_success
"S = git apply (3)" \
166 'git apply patch1.patch patch4.patch'
169 test_expect_success
"S = patch (3)" \
170 'cat patch1.patch patch4.patch | patch -p1'
172 test_expect_success
"S = cmp (3)" \
173 'cmp main.c.git main.c'