diff: minor option combination fix.
authorJunio C Hamano <junkio@cox.net>
Mon, 22 May 2006 07:31:02 +0000 (00:31 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 22 May 2006 07:31:02 +0000 (00:31 -0700)
output_format == DIFFSTAT and with_stat == true does not make sense, and
the way the code is structured it causes trouble.  Avoid it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
diff.c

diff --git a/diff.c b/diff.c
index d3bb10e..1601783 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -1303,6 +1303,14 @@ int diff_setup_done(struct diff_options *options)
            (options->output_format == DIFF_FORMAT_CHECKDIFF))
                options->recursive = 1;
 
+       /*
+        * These combinations do not make sense.
+        */
+       if (options->output_format == DIFF_FORMAT_RAW)
+               options->with_raw = 0;
+       if (options->output_format == DIFF_FORMAT_DIFFSTAT)
+               options->with_stat  = 0;
+
        if (options->detect_rename && options->rename_limit < 0)
                options->rename_limit = diff_rename_limit_default;
        if (options->setup & DIFF_SETUP_USE_CACHE) {