Browse Source
Without this patch, git-apply does not retain the mode when renaming or copying files. [jc: Good catch, Johannes. I added a test case to demonstrate the breackage in the original.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>maint


2 changed files with 43 additions and 2 deletions
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2005 Junio C Hamano |
||||
# |
||||
|
||||
test_description='git-apply handling copy/rename patch. |
||||
|
||||
' |
||||
. ./test-lib.sh |
||||
|
||||
# setup |
||||
|
||||
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 |
||||
|
||||
echo 'This is foo' >foo |
||||
chmod +x foo |
||||
|
||||
test_expect_success setup \ |
||||
'git-update-cache --add foo' |
||||
|
||||
test_expect_success apply \ |
||||
'git-apply --index --stat --summary --apply test-patch' |
||||
|
||||
test_expect_success validate \ |
||||
'test -f bar && ls -l bar | grep "^-..x..x..x"' |
||||
|
||||
test_done |
Loading…
Reference in new issue