summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--diff.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/diff.c b/diff.c
index 1c131ff4dc..5358fd0c14 100644
--- a/diff.c
+++ b/diff.c
@@ -1433,6 +1433,19 @@ void diff_setup(struct diff_options *options)
int diff_setup_done(struct diff_options *options)
{
+ int count = 0;
+
+ if (options->output_format & DIFF_FORMAT_NAME)
+ count++;
+ if (options->output_format & DIFF_FORMAT_NAME_STATUS)
+ count++;
+ if (options->output_format & DIFF_FORMAT_CHECKDIFF)
+ count++;
+ if (options->output_format & DIFF_FORMAT_NO_OUTPUT)
+ count++;
+ if (count > 1)
+ die("--name-only, --name-status, --check and -s are mutually exclusive");
+
if ((options->find_copies_harder &&
options->detect_rename != DIFF_DETECT_COPY) ||
(0 <= options->rename_limit && !options->detect_rename))