Merge branch 'ap/maint-apply-modefix'

* ap/maint-apply-modefix:
  builtin-apply: prevent non-explicit permission changes
This commit is contained in:
Junio C Hamano
2009-01-03 13:57:10 -08:00
2 changed files with 65 additions and 1 deletions

62
t/t4129-apply-samemode.sh Executable file
View File

@ -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