From: Thomas Rast Date: Tue, 06 Jan 2009 23:56:03 GMT Subject: [RFC PATCH] diff --no-index: test for pager after option parsing Message-ID: <1231286163-9422-1-git-send-email-trast@student.ethz.ch> We need to parse options before we can see if --exit-code was provided. Signed-off-by: Thomas Rast --- I noticed this while working on the earlier patch for diff --no-index. It seems like the right thing to do (and passes tests), but I don't have a clue about git's normal setup sequences, so I'm flagging it RFC. diff-no-index.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/diff-no-index.c b/diff-no-index.c index b60d345..f655f64 100644 --- a/diff-no-index.c +++ b/diff-no-index.c @@ -198,13 +198,6 @@ void diff_no_index(struct rev_info *revs, die("git diff %s takes two paths", no_index ? "--no-index" : "[--no-index]"); - /* - * 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(); - diff_setup(&revs->diffopt); if (!revs->diffopt.output_format) revs->diffopt.output_format = DIFF_FORMAT_PATCH; @@ -222,6 +215,13 @@ 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); -- tg: (e9b8523..) t/diff-no-index-status (depends on: origin/master)