[RFC PATCH] diff --no-index: test for pager after option parsing
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Jan 6, 2009, 23:56 UTC
- 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 <trast@student.ethz.ch>
---
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)