Third batch for 1.7.12
[gitweb.git] / diff-no-index.c
index f0b0010aedd67f9b34f43426c47e837dfe2a522b..77667b810d383d18a3b912b739ba97d430b30133 100644 (file)
@@ -224,13 +224,6 @@ void diff_no_index(struct rev_info *revs,
                }
        }
 
-       /*
-        * If the user asked for our exit code then don't start a
-        * pager or we would end up reporting its exit code instead.
-        */
-       if (!DIFF_OPT_TST(&revs->diffopt, EXIT_WITH_STATUS))
-               setup_pager();
-
        if (prefix) {
                int len = strlen(prefix);
                const char *paths[3];
@@ -255,13 +248,15 @@ void diff_no_index(struct rev_info *revs,
        if (!revs->diffopt.output_format)
                revs->diffopt.output_format = DIFF_FORMAT_PATCH;
 
-       DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
        DIFF_OPT_SET(&revs->diffopt, NO_INDEX);
 
        revs->max_count = -2;
        if (diff_setup_done(&revs->diffopt) < 0)
                die("diff_setup_done failed");
 
+       setup_diff_pager(&revs->diffopt);
+       DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
+
        if (queue_diff(&revs->diffopt, revs->diffopt.pathspec.raw[0],
                       revs->diffopt.pathspec.raw[1]))
                exit(1);