diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-01-03 13:57:10 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-01-03 13:57:10 -0800 |
commit | caf8b2fbd4b49c66aa70624eaf35ebcdc007ad6d (patch) | |
tree | 6aa577910cc25e3177c8cd8a8c398d9506d3a354 /t | |
parent | cca1704897e7fdb182f68d4c48a437c5d7bc5203 (diff) | |
parent | 1f7903a371f90f025cfc3b4aa3a0b4a8f8b05b94 (diff) | |
download | git-caf8b2fbd4b49c66aa70624eaf35ebcdc007ad6d.tar.gz git-caf8b2fbd4b49c66aa70624eaf35ebcdc007ad6d.tar.xz |
Merge branch 'ap/maint-apply-modefix'
* ap/maint-apply-modefix:
builtin-apply: prevent non-explicit permission changes
Diffstat (limited to 't')
-rwxr-xr-x | t/t4129-apply-samemode.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/t/t4129-apply-samemode.sh b/t/t4129-apply-samemode.sh new file mode 100755 index 000000000..adfcbb5a3 --- /dev/null +++ b/t/t4129-apply-samemode.sh @@ -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 |