| #!/bin/sh | 
 | # | 
 | # Copyright (c) 2005 Junio C Hamano | 
 | # | 
 |  | 
 | test_description='git apply handling copy/rename patch. | 
 |  | 
 | ' | 
 | . ./test-lib.sh | 
 | . "$TEST_DIRECTORY"/lib-prereq-FILEMODE.sh | 
 |  | 
 | # setup | 
 |  | 
 | cat >test-patch <<\EOF | 
 | diff --git a/foo b/bar | 
 | similarity index 47% | 
 | rename from foo | 
 | rename to bar | 
 | --- a/foo | 
 | +++ b/bar | 
 | @@ -1 +1 @@ | 
 | -This is foo | 
 | +This is bar | 
 | EOF | 
 |  | 
 | echo 'This is foo' >foo | 
 | chmod +x foo | 
 |  | 
 | test_expect_success setup \ | 
 |     'git update-index --add foo' | 
 |  | 
 | test_expect_success apply \ | 
 |     'git apply --index --stat --summary --apply test-patch' | 
 |  | 
 | test_expect_success FILEMODE validate \ | 
 | 	    'test -f bar && ls -l bar | grep "^-..x......"' | 
 |  | 
 | test_expect_success 'apply reverse' \ | 
 |     'git apply -R --index --stat --summary --apply test-patch && | 
 |      test "$(cat foo)" = "This is foo"' | 
 |  | 
 | cat >test-patch <<\EOF | 
 | diff --git a/foo b/bar | 
 | similarity index 47% | 
 | copy from foo | 
 | copy to bar | 
 | --- a/foo | 
 | +++ b/bar | 
 | @@ -1 +1 @@ | 
 | -This is foo | 
 | +This is bar | 
 | EOF | 
 |  | 
 | test_expect_success 'apply copy' \ | 
 |     'git apply --index --stat --summary --apply test-patch && | 
 |      test "$(cat bar)" = "This is bar" -a "$(cat foo)" = "This is foo"' | 
 |  | 
 | test_done |