test case for transitive info/alternates
[git.git] / t / t4006-diff-mode.sh
index 90fd21f..8ad69d1 100755 (executable)
@@ -11,15 +11,25 @@ test_description='Test mode change diffs.
 test_expect_success \
     'setup' \
     'echo frotz >rezrov &&
-     git-update-cache --add rezrov &&
+     git-update-index --add rezrov &&
      tree=`git-write-tree` &&
      echo $tree'
 
-test_expect_success \
-    'chmod' \
-    'chmod +x rezrov &&
-     git-update-cache rezrov &&
-     git-diff-cache $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"