Merge branch 'bc/do-not-recurse-in-die'
[git.git] / builtin / diff-index.c
index 2eb32bd9da8cfa4d7b1b99f9d22ffa5b3d6202e5..1c737f79216fda2e5395422d8aee2e4f5d6482a4 100644 (file)
@@ -41,9 +41,13 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
        if (rev.pending.nr != 1 ||
            rev.max_count != -1 || rev.min_age != -1 || rev.max_age != -1)
                usage(diff_cache_usage);
-       if (!cached)
+       if (!cached) {
                setup_work_tree();
-       if (read_cache() < 0) {
+               if (read_cache_preload(rev.diffopt.pathspec.raw) < 0) {
+                       perror("read_cache_preload");
+                       return -1;
+               }
+       } else if (read_cache() < 0) {
                perror("read_cache");
                return -1;
        }