Merge branch 'nd/ita-wt-renames-in-status'
[gitweb.git] / builtin / diff-index.c
index d979824f9395a0cbc8ffffa9cede524589710d43..522f4fdffd064de2e50232934cb7d616246c92e4 100644 (file)
@@ -1,4 +1,5 @@
 #include "cache.h"
+#include "config.h"
 #include "diff.h"
 #include "commit.h"
 #include "revision.h"
@@ -17,10 +18,13 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
        int i;
        int result;
 
-       init_revisions(&rev, prefix);
-       gitmodules_config();
+       if (argc == 2 && !strcmp(argv[1], "-h"))
+               usage(diff_cache_usage);
+
        git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
+       init_revisions(&rev, prefix);
        rev.abbrev = 0;
+       precompose_argv(argc, argv);
 
        argc = setup_revisions(argc, argv, &rev, NULL);
        for (i = 1; i < argc; i++) {
@@ -52,5 +56,6 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
                return -1;
        }
        result = run_diff_index(&rev, cached);
+       UNLEAK(rev);
        return diff_result_code(&rev.diffopt, result);
 }