Re: [PATCH] diff: resurrect XDF_NEED_MINIMAL with --minimal
flat view
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:52:09
Junio C Hamano wrote:
* 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").
Very neat.
quoted hunk ↗ jump to hunk
--- 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=")) {
I think this would fit well near --patience (the "xdiff options" section), instead of hidden between the unsticked and sticked forms of --abbrev. ;-) Like this:
diff --git i/Documentation/diff-options.txt w/Documentation/diff-options.txt
index b620b3af..4d87256e 100644
--- i/Documentation/diff-options.txt
+++ w/Documentation/diff-options.txt@@ -48,6 +48,10 @@ endif::git-format-patch[] --patience:: Generate a diff using the "patience diff" algorithm. +--minimal:: + Spend extra time to make sure the smallest possible + diff is produced. + --stat[=<width>[,<name-width>[,<count>]]]:: Generate a diffstat. You can override the default output width for 80-column terminal by `--stat=<width>`.
diff --git i/diff.c w/diff.c
index fcc00780..2282f86f 100644
--- i/diff.c
+++ w/diff.c@@ -3393,6 +3393,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) DIFF_XDL_SET(options, IGNORE_WHITESPACE_AT_EOL); else if (!strcmp(arg, "--patience")) DIFF_XDL_SET(options, PATIENCE_DIFF); + 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, "--histogram")) DIFF_XDL_SET(options, HISTOGRAM_DIFF);