X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=diff.c;h=8ae6dbc64e3c6c96e37755644d14998dc6e44a5a;hb=c8568e139ed2149fbfb7ef9a8d819d5b6b7c554f;hp=17d68fa699f7c88aef8e6c1a0812575bfaec70e1;hpb=5df466c507ee2dd81c2e9002c3fedf3536cde0dc;p=git.git diff --git a/diff.c b/diff.c index 17d68fa6..8ae6dbc6 100644 --- a/diff.c +++ b/diff.c @@ -723,7 +723,7 @@ static void run_diff(struct diff_filepair *p, struct diff_options *o) if (memcmp(one->sha1, two->sha1, 20)) { char one_sha1[41]; - int abbrev = o->full_index ? 40 : DIFF_DEFAULT_INDEX_ABBREV; + int abbrev = o->full_index ? 40 : DEFAULT_ABBREV; memcpy(one_sha1, sha1_to_hex(one->sha1), 41); len += snprintf(msg + len, sizeof(msg) - len, @@ -846,9 +846,14 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) else if (!strcmp(arg, "--find-copies-harder")) options->find_copies_harder = 1; else if (!strcmp(arg, "--abbrev")) - options->abbrev = DIFF_DEFAULT_ABBREV; - else if (!strncmp(arg, "--abbrev=", 9)) + options->abbrev = DEFAULT_ABBREV; + else if (!strncmp(arg, "--abbrev=", 9)) { options->abbrev = strtoul(arg + 9, NULL, 10); + if (options->abbrev < MINIMUM_ABBREV) + options->abbrev = MINIMUM_ABBREV; + else if (40 < options->abbrev) + options->abbrev = 40; + } else return 0; return 1;