#include "cache.h"
+#include "config.h"
 #include "diff.h"
 #include "commit.h"
 #include "revision.h"
                usage(diff_cache_usage);
 
        git_config(git_diff_basic_config, NULL); /* no "diff" UI options */
-       init_revisions(&rev, prefix);
-       gitmodules_config();
+       repo_init_revisions(the_repository, &rev, prefix);
        rev.abbrev = 0;
        precompose_argv(argc, argv);
 
                return -1;
        }
        result = run_diff_index(&rev, cached);
+       UNLEAK(rev);
        return diff_result_code(&rev.diffopt, result);
 }