diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-05-03 15:02:52 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-03 15:02:52 -0700 |
commit | c2eae0a5f604738b9ecce3d540ea48ceb0f2a869 (patch) | |
tree | bf48f9c51a63da93ac656a921616f8442d28bbdf /t | |
parent | 00473fd1968ee887093dc66c616112f9dd2891ab (diff) | |
parent | f0583867e746985e9d62f57d5ba6ce27b2603447 (diff) | |
download | git-c2eae0a5f604738b9ecce3d540ea48ceb0f2a869.tar.gz |
Merge branch 'mk/maint-apply-swap' into maint
* mk/maint-apply-swap:
tests: make test-apply-criss-cross-rename more robust
builtin-apply: keep information about files to be deleted
tests: test applying criss-cross rename patch
Diffstat (limited to 't')
-rwxr-xr-x | t/t4130-apply-criss-cross-rename.sh | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/t/t4130-apply-criss-cross-rename.sh b/t/t4130-apply-criss-cross-rename.sh new file mode 100755 index 0000000000..7cfa2d6287 --- /dev/null +++ b/t/t4130-apply-criss-cross-rename.sh @@ -0,0 +1,66 @@ +#!/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" && + create_file file3 "File3 contents" && + git add file1 file2 file3 && + git commit -m 1 +' + +test_expect_success 'criss-cross rename' ' + mv file1 tmp && + mv file2 file1 && + mv tmp file2 && + cp file1 file1-swapped && + cp file2 file2-swapped +' + +test_expect_success 'diff -M -B' ' + git diff -M -B > diff && + git reset --hard + +' + +test_expect_success 'apply' ' + git apply diff && + test_cmp file1 file1-swapped && + test_cmp file2 file2-swapped +' + +test_expect_success 'criss-cross rename' ' + git reset --hard && + mv file1 tmp && + mv file2 file1 && + mv file3 file2 + mv tmp file3 && + cp file1 file1-swapped && + cp file2 file2-swapped && + cp file3 file3-swapped +' + +test_expect_success 'diff -M -B' ' + git diff -M -B > diff && + git reset --hard +' + +test_expect_success 'apply' ' + git apply diff && + test_cmp file1 file1-swapped && + test_cmp file2 file2-swapped && + test_cmp file3 file3-swapped +' + +test_done |