diff --git a/t/t4006-diff-mode.sh b/t/t4006-diff-mode.sh
index e2a67e9633811453c1b5c63d9936728e62e4585e..8ad69d11155f3a3df9a5508a07ccd78ba7e5d747 100755 (executable)
--- a/t/t4006-diff-mode.sh
+++ b/t/t4006-diff-mode.sh
tree=`git-write-tree` &&
echo $tree'
-test_expect_success \
- 'chmod' \
- 'chmod +x rezrov &&
- git-update-index rezrov &&
- git-diff-index $tree >current'
+if [ "$(git repo-config --get core.filemode)" = false ]
+then
+ say 'filemode disabled on the filesystem, using update-index --chmod=+x'
+ test_expect_success \
+ 'git-update-index --chmod=+x' \
+ 'git-update-index rezrov &&
+ git-update-index --chmod=+x rezrov &&
+ git-diff-index $tree >current'
+else
+ test_expect_success \
+ 'chmod' \
+ 'chmod +x rezrov &&
+ git-update-index rezrov &&
+ git-diff-index $tree >current'
+fi
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"