about summary refs log tree commit diff
path: root/third_party/git/t/t4107-apply-ignore-whitespace.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/t4107-apply-ignore-whitespace.sh')
-rwxr-xr-xthird_party/git/t/t4107-apply-ignore-whitespace.sh195
1 files changed, 0 insertions, 195 deletions
diff --git a/third_party/git/t/t4107-apply-ignore-whitespace.sh b/third_party/git/t/t4107-apply-ignore-whitespace.sh
deleted file mode 100755
index ac72eeaf27..0000000000
--- a/third_party/git/t/t4107-apply-ignore-whitespace.sh
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2009 Giuseppe Bilotta
-#
-
-test_description='git-apply --ignore-whitespace.
-
-'
-. ./test-lib.sh
-
-# This primes main.c file that indents without using HT at all.
-# Various patches with HT and other spaces are attempted in the test.
-
-cat > patch1.patch <<\EOF
-diff --git a/main.c b/main.c
-new file mode 100644
---- /dev/null
-+++ b/main.c
-@@ -0,0 +1,22 @@
-+#include <stdio.h>
-+
-+void print_int(int num);
-+int func(int num);
-+
-+int main() {
-+       int i;
-+
-+       for (i = 0; i < 10; i++) {
-+               print_int(func(i)); /* stuff */
-+       }
-+
-+       return 0;
-+}
-+
-+int func(int num) {
-+       return num * num;
-+}
-+
-+void print_int(int num) {
-+       printf("%d", num);
-+}
-EOF
-
-# Since whitespace is very significant and we want to prevent whitespace
-# mangling when creating this test from a patch, we protect 'fixable'
-# whitespace by replacing spaces with Z and replacing them at patch
-# creation time, hence the sed trick.
-
-# This patch will fail unless whitespace differences are being ignored
-
-sed -e 's/Z/ /g' > patch2.patch <<\EOF
-diff --git a/main.c b/main.c
---- a/main.c
-+++ b/main.c
-@@ -10,6 +10,8 @@
-Z		print_int(func(i)); /* stuff */
-Z	}
-Z
-+	printf("\n");
-+
-Z	return 0;
-Z}
-Z
-EOF
-
-# This patch will fail even if whitespace differences are being ignored,
-# because of the missing string at EOL. TODO: this testcase should be
-# improved by creating a line that has the same hash with and without
-# the final string.
-
-sed -e 's/Z/ /g' > patch3.patch <<\EOF
-diff --git a/main.c b/main.c
---- a/main.c
-+++ b/main.c
-@@ -10,3 +10,4 @@
-Z	for (i = 0; i < 10; i++) {
-Z		print_int(func(i));Z
-+		/* stuff */
-Z	}
-EOF
-
-# This patch will fail even if whitespace differences are being ignored,
-# because of the missing EOL at EOF.
-
-sed -e 's/Z/ /g' > patch4.patch <<\EOF
-diff --git a/main.c b/main.c
---- a/main.c
-+++ b/main.c
-@@ -21,1 +21,1 @@
--	};Z
-\ No newline at end of file
-+	};
-EOF
-
-# This patch will fail unless whitespace differences are being ignored.
-
-sed -e 's/Z/ /g' > patch5.patch <<\EOF
-diff --git a/main.c b/main.c
---- a/main.c
-+++ b/main.c
-@@ -2,2 +2,3 @@
-Z	void print_int(int num);
-+	/* a comment */
-Z	int func(int num);
-EOF
-
-# And this is how the final output should be.  Patches introduce
-# HTs but the original SP indents are mostly kept.
-
-sed -e 's/T/	/g' > main.c.final <<\EOF
-#include <stdio.h>
-
-void print_int(int num);
-int func(int num);
-
-int main() {
-       int i;
-
-       for (i = 0; i < 10; i++) {
-               print_int(func(i)); /* stuff */
-       }
-
-Tprintf("\n");
-
-       return 0;
-}
-
-int func(int num) {
-       return num * num;
-}
-
-void print_int(int num) {
-       printf("%d", num);
-}
-EOF
-
-test_expect_success 'file creation' '
-	git apply patch1.patch
-'
-
-test_expect_success 'patch2 fails (retab)' '
-	test_must_fail git apply patch2.patch
-'
-
-test_expect_success 'patch2 applies with --ignore-whitespace' '
-	git apply --ignore-whitespace patch2.patch
-'
-
-test_expect_success 'patch2 reverse applies with --ignore-space-change' '
-	git apply -R --ignore-space-change patch2.patch
-'
-
-git config apply.ignorewhitespace change
-
-test_expect_success 'patch2 applies (apply.ignorewhitespace = change)' '
-	git apply patch2.patch &&
-	test_cmp main.c.final main.c
-'
-
-test_expect_success 'patch3 fails (missing string at EOL)' '
-	test_must_fail git apply patch3.patch
-'
-
-test_expect_success 'patch4 fails (missing EOL at EOF)' '
-	test_must_fail git apply patch4.patch
-'
-
-test_expect_success 'patch5 fails (leading whitespace differences matter)' '
-	test_must_fail git apply patch5.patch
-'
-
-test_expect_success 're-create file (with --ignore-whitespace)' '
-	rm -f main.c &&
-	git apply patch1.patch
-'
-
-test_expect_success 'patch5 fails (--no-ignore-whitespace)' '
-	test_must_fail git apply --no-ignore-whitespace patch5.patch
-'
-
-test_expect_success 'apply --ignore-space-change --inaccurate-eof' '
-	echo 1 >file &&
-	git apply --ignore-space-change --inaccurate-eof <<-\EOF &&
-	diff --git a/file b/file
-	--- a/file
-	+++ b/file
-	@@ -1 +1 @@
-	-1
-	+2
-	EOF
-	printf 2 >expect &&
-	test_cmp expect file
-'
-
-test_done