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 <gitster@pobox.com>
Junio C Hamano committed
Oct 1, 2011 at 21:56 UTC
81b568c839376a10cd5fe29db0b8a72f537fa36a
2 files changed
+8
Documentation/diff-options.txt
+4
@@ -45,6 +45,10 @@ ifndef::git-format-patch[]
45
Synonym for `-p --raw`.
46
endif::git-format-patch[]
47
48
+--minimal::
49
+ Spend extra time to make sure the smallest possible
50
+ diff is produced.
51
+
52
--patience::
53
Generate a diff using the "patience diff" algorithm.
54
diff.c
+4
@@ -3385,6 +3385,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac)
3385
}
3386
3387
/* xdiff options */
3388
+ else if (!strcmp(arg, "--minimal"))
3389
+ DIFF_XDL_SET(options, NEED_MINIMAL);
3390
+ else if (!strcmp(arg, "--no-minimal"))
3391
+ DIFF_XDL_CLR(options, NEED_MINIMAL);
3392
else if (!strcmp(arg, "-w") || !strcmp(arg, "--ignore-all-space"))
3393
DIFF_XDL_SET(options, IGNORE_WHITESPACE);
3394
else if (!strcmp(arg, "-b") || !strcmp(arg, "--ignore-space-change"))