Staging
v0.5.2
Revision 6c293d408dbbd0206e80df3ecda7f1620cadaa94 authored by Santi Béjar on 08 March 2008, 11:30:04 UTC, committed by Junio C Hamano on 09 March 2008, 03:43:21 UTC
The "config --global" suggested in the message is a valid one-shot fix,
and hopefully one-shot across machines that NFS mounts the home directories.

This knowledge can hopefully be reused when you are forced to use git on
Windows, but the fix based on GECOS would not be applicable, so
it is not such a useful hint to mention the exact reason why the
name cannot be determined.

Signed-off-by: Santi Béjar <sbejar@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 0bb91d9
Raw File
t4109-apply-multifrag.sh
#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
# Copyright (c) 2005 Robert Fitzsimons
#

test_description='git apply test patches with multiple fragments.

'
. ./test-lib.sh

# setup

cat > patch1.patch <<\EOF
diff --git a/main.c b/main.c
new file mode 100644
--- /dev/null
+++ b/main.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+
+int func(int num);
+void print_int(int num);
+
+int main() {
+	int i;
+
+	for (i = 0; i < 10; i++) {
+		print_int(func(i));
+	}
+
+	return 0;
+}
+
+int func(int num) {
+	return num * num;
+}
+
+void print_int(int num) {
+	printf("%d", num);
+}
+
EOF
cat > patch2.patch <<\EOF
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
@@ -1,7 +1,9 @@
+#include <stdlib.h>
 #include <stdio.h>
 
 int func(int num);
 void print_int(int num);
+void print_ln();
 
 int main() {
 	int i;
@@ -10,6 +12,8 @@
 		print_int(func(i));
 	}
 
+	print_ln();
+
 	return 0;
 }
 
@@ -21,3 +25,7 @@
 	printf("%d", num);
 }
 
+void print_ln() {
+	printf("\n");
+}
+
EOF
cat > patch3.patch <<\EOF
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
@@ -1,9 +1,7 @@
-#include <stdlib.h>
 #include <stdio.h>
 
 int func(int num);
 void print_int(int num);
-void print_ln();
 
 int main() {
 	int i;
@@ -12,8 +10,6 @@
 		print_int(func(i));
 	}
 
-	print_ln();
-
 	return 0;
 }
 
@@ -25,7 +21,3 @@
 	printf("%d", num);
 }
 
-void print_ln() {
-	printf("\n");
-}
-
EOF
cat > patch4.patch <<\EOF
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
@@ -1,13 +1,14 @@
 #include <stdio.h>
 
 int func(int num);
-void print_int(int num);
+int func2(int num);
 
 int main() {
 	int i;
 
 	for (i = 0; i < 10; i++) {
-		print_int(func(i));
+		printf("%d", func(i));
+		printf("%d", func3(i));
 	}
 
 	return 0;
@@ -17,7 +18,7 @@
 	return num * num;
 }
 
-void print_int(int num) {
-	printf("%d", num);
+int func2(int num) {
+	return num * num * num;
 }
 
EOF

test_expect_success "S = git apply (1)" \
    'git apply patch1.patch patch2.patch'
mv main.c main.c.git

test_expect_success "S = patch (1)" \
    'cat patch1.patch patch2.patch | patch -p1'

test_expect_success "S = cmp (1)" \
    'cmp main.c.git main.c'

rm -f main.c main.c.git

test_expect_success "S = git apply (2)" \
    'git apply patch1.patch patch2.patch patch3.patch'
mv main.c main.c.git

test_expect_success "S = patch (2)" \
    'cat patch1.patch patch2.patch patch3.patch | patch -p1'

test_expect_success "S = cmp (2)" \
    'cmp main.c.git main.c'

rm -f main.c main.c.git

test_expect_success "S = git apply (3)" \
    'git apply patch1.patch patch4.patch'
mv main.c main.c.git

test_expect_success "S = patch (3)" \
    'cat patch1.patch patch4.patch | patch -p1'

test_expect_success "S = cmp (3)" \
    'cmp main.c.git main.c'

test_done

back to top