From: Junio C Hamano Date: Sun, 2 Oct 2011 04:56:28 +0000 (-0700) Subject: diff: resurrect XDF_NEED_MINIMAL with --minimal X-Git-Tag: v1.7.7.1~6^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=81b568c839376a10cd5fe29db0b8a72f537fa36a;p=git.git diff: resurrect XDF_NEED_MINIMAL with --minimal Earlier, 582aa00 (git diff too slow for a file, 2010-05-02) unconditionally dropped XDF_NEED_MINIMAL option from the internal xdiff invocation to help performance on pathological cases, while hinting that a follow-up patch could reintroduce it with "--minimal" option from the command line. Make it so. Signed-off-by: Junio C Hamano --- diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index b620b3afe..5c53bdba9 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -45,6 +45,10 @@ ifndef::git-format-patch[] Synonym for `-p --raw`. endif::git-format-patch[] +--minimal:: + Spend extra time to make sure the smallest possible + diff is produced. + --patience:: Generate a diff using the "patience diff" algorithm. diff --git a/diff.c b/diff.c index 93ef9a265..c261cc049 100644 --- a/diff.c +++ b/diff.c @@ -3385,6 +3385,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) } /* xdiff options */ + else if (!strcmp(arg, "--minimal")) + DIFF_XDL_SET(options, NEED_MINIMAL); + else if (!strcmp(arg, "--no-minimal")) + DIFF_XDL_CLR(options, NEED_MINIMAL); else if (!strcmp(arg, "-w") || !strcmp(arg, "--ignore-all-space")) DIFF_XDL_SET(options, IGNORE_WHITESPACE); else if (!strcmp(arg, "-b") || !strcmp(arg, "--ignore-space-change"))