[PATCH] diff: resurrect XDF_NEED_MINIMAL with --minimal
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:52:09
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 <redacted> --- * This together with René's c5aa906 (Revert removal of multi-match discard heuristic in 27af01, 2011-09-25) on top of v1.7.7 seems to give identical diff output as v1.7.1 (e.g. "git diff-tree -p v2.6.39 v3.0" in the kernel repository, with "--minimal"). diff.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/diff.c b/diff.c
index 93ef9a2..34a88db 100644
--- a/diff.c
+++ b/diff.c@@ -3511,6 +3511,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) } else if (!strcmp(arg, "--abbrev")) options->abbrev = DEFAULT_ABBREV; + 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 (!prefixcmp(arg, "--abbrev=")) { options->abbrev = strtoul(arg + 9, NULL, 10); if (options->abbrev < MINIMUM_ABBREV)
--
1.7.7