Browse Source
* ap/maint-apply-modefix: builtin-apply: prevent non-explicit permission changesmaint
Junio C Hamano
16 years ago
2 changed files with 65 additions and 1 deletions
@ -0,0 +1,62 @@
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='applying patch with mode bits' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success setup ' |
||||
echo original >file && |
||||
git add file && |
||||
test_tick && |
||||
git commit -m initial && |
||||
git tag initial && |
||||
echo modified >file && |
||||
git diff --stat -p >patch-0.txt && |
||||
chmod +x file && |
||||
git diff --stat -p >patch-1.txt |
||||
' |
||||
|
||||
test_expect_success 'same mode (no index)' ' |
||||
git reset --hard && |
||||
chmod +x file && |
||||
git apply patch-0.txt && |
||||
test -x file |
||||
' |
||||
|
||||
test_expect_success 'same mode (with index)' ' |
||||
git reset --hard && |
||||
chmod +x file && |
||||
git add file && |
||||
git apply --index patch-0.txt && |
||||
test -x file && |
||||
git diff --exit-code |
||||
' |
||||
|
||||
test_expect_success 'same mode (index only)' ' |
||||
git reset --hard && |
||||
chmod +x file && |
||||
git add file && |
||||
git apply --cached patch-0.txt && |
||||
git ls-files -s file | grep "^100755" |
||||
' |
||||
|
||||
test_expect_success 'mode update (no index)' ' |
||||
git reset --hard && |
||||
git apply patch-1.txt && |
||||
test -x file |
||||
' |
||||
|
||||
test_expect_success 'mode update (with index)' ' |
||||
git reset --hard && |
||||
git apply --index patch-1.txt && |
||||
test -x file && |
||||
git diff --exit-code |
||||
' |
||||
|
||||
test_expect_success 'mode update (index only)' ' |
||||
git reset --hard && |
||||
git apply --cached patch-1.txt && |
||||
git ls-files -s file | grep "^100755" |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue