tests: test applying criss-cross rename patch
authorMichał Kiedrowicz <michal.kiedrowicz@gmail.com>
Sat, 11 Apr 2009 15:26:24 +0000 (17:26 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Apr 2009 20:46:55 +0000 (13:46 -0700)
Originally reported by Linus in $gmane/116198

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4130-apply-criss-cross-rename.sh [new file with mode: 0755]

diff --git a/t/t4130-apply-criss-cross-rename.sh b/t/t4130-apply-criss-cross-rename.sh
new file mode 100755 (executable)
index 0000000..08c5f38
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+test_description='git apply handling criss-cross rename patch.'
+. ./test-lib.sh
+
+create_file() {
+       cnt=0
+       while test $cnt -le 100
+       do
+               cnt=$(($cnt + 1))
+               echo "$2" >> "$1"
+       done
+}
+
+test_expect_success 'setup' '
+       create_file file1 "File1 contents" &&
+       create_file file2 "File2 contents" &&
+       git add file1 file2 &&
+       git commit -m 1
+'
+
+test_expect_success 'criss-cross rename' '
+       mv file1 tmp &&
+       mv file2 file1 &&
+       mv tmp file2
+'
+
+test_expect_success 'diff -M -B' '
+       git diff -M -B > diff &&
+       git reset --hard
+
+'
+
+test_expect_failure 'apply' '
+       git apply diff
+'
+
+test_done