From: Junio C Hamano Date: Sun, 9 Jul 2006 07:52:36 +0000 (-0700) Subject: Merge branch 'sf/diff' X-Git-Tag: v1.4.2-rc1~65 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/88f0d5d7d95f815d2e8a36a8ceb7459dbd90992c?ds=inline;hp=-c Merge branch 'sf/diff' --- 88f0d5d7d95f815d2e8a36a8ceb7459dbd90992c diff --combined diff.c index aab246c97e,b423491f60..3e26180f08 --- a/diff.c +++ b/diff.c @@@ -110,14 -110,8 +110,14 @@@ int git_diff_config(const char *var, co if (!strcmp(var, "diff.color")) { if (!value) diff_use_color_default = 1; /* bool */ - else if (!strcasecmp(value, "auto")) - diff_use_color_default = isatty(1); + else if (!strcasecmp(value, "auto")) { + diff_use_color_default = 0; + if (isatty(1)) { + char *term = getenv("TERM"); + if (term && strcmp(term, "dumb")) + diff_use_color_default = 1; + } + } else if (!strcasecmp(value, "never")) diff_use_color_default = 0; else if (!strcasecmp(value, "always")) @@@ -729,7 -723,7 +729,7 @@@ static void builtin_diff(const char *na if (fill_mmfile(&mf1, one) < 0 || fill_mmfile(&mf2, two) < 0) die("unable to read files to diff"); - if (mmfile_is_binary(&mf1) || mmfile_is_binary(&mf2)) { + if (!o->text && (mmfile_is_binary(&mf1) || mmfile_is_binary(&mf2))) { /* Quite common confusing case */ if (mf1.size == mf2.size && !memcmp(mf1.ptr, mf2.ptr, mf1.size)) @@@ -1567,6 -1561,9 +1567,9 @@@ int diff_opt_parse(struct diff_options options->output_format |= DIFF_FORMAT_PATCH; options->full_index = options->binary = 1; } + else if (!strcmp(arg, "-a") || !strcmp(arg, "--text")) { + options->text = 1; + } else if (!strcmp(arg, "--name-only")) options->output_format |= DIFF_FORMAT_NAME; else if (!strcmp(arg, "--name-status"))