Fix "git log --diff-filter" bug
[gitweb.git] / t / t4006-diff-mode.sh
index e2a67e9633811453c1b5c63d9936728e62e4585e..ab5406dd9f241edee7a6067a1426f0a65076eb10 100755 (executable)
@@ -11,15 +11,25 @@ test_description='Test mode change diffs.
 test_expect_success \
     'setup' \
     'echo frotz >rezrov &&
-     git-update-index --add rezrov &&
-     tree=`git-write-tree` &&
+     git update-index --add rezrov &&
+     tree=`git write-tree` &&
      echo $tree'
 
-test_expect_success \
-    'chmod' \
-    'chmod +x rezrov &&
-     git-update-index rezrov &&
-     git-diff-index $tree >current'
+if [ "$(git 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"
@@ -28,7 +38,6 @@ echo ":100644 100755 X X M    rezrov" >expected
 
 test_expect_success \
     'verify' \
-    'diff -u expected check'
+    'git diff expected check'
 
 test_done
-