summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-04-29 15:18:08 -0700
committerJunio C Hamano <gitster@pobox.com>2016-04-29 15:19:28 -0700
commit0d292e746962a53fcf019e9ed5cbd27f2bbf9648 (patch)
tree5796ec5dce0a0e506991a3333582283d4396ea34
parentd634d61ed6c5f19948937012b5e3a0ed2d631d3f (diff)
downloadgit-jc/diff-compact-always-use-blank-heuristics.tar.gz
diff: enable "compaction heuristics" and lose experimentation knobjc/diff-compact-always-use-blank-heuristics
It seems that the new "find a good hunk boundary by locating a blank line" heuristics gives much more pleasant result without much noticeable downsides. Let's make it the new algorithm for real, without the opt-out knob we added while experimenting with it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/diff-config.txt5
-rw-r--r--Documentation/diff-options.txt6
-rw-r--r--diff.c11
-rw-r--r--xdiff/xdiff.h2
-rw-r--r--xdiff/xdiffi.c2
5 files changed, 1 insertions, 25 deletions
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index 9bf3e923cf..6eaa45271c 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt
@@ -166,11 +166,6 @@ diff.tool::
include::mergetools-diff.txt[]
-diff.compactionHeuristic::
- Set this option to enable an experimental heuristic that
- shifts the hunk boundary in an attempt to make the resulting
- patch easier to read.
-
diff.algorithm::
Choose a diff algorithm. The variants are as follows:
+
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index b513023cd7..3ad6404dbc 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -63,12 +63,6 @@ ifndef::git-format-patch[]
Synonym for `-p --raw`.
endif::git-format-patch[]
---compaction-heuristic::
---no-compaction-heuristic::
- These are to help debugging and tuning an experimental
- heuristic that shifts the hunk boundary in an attempt to
- make the resulting patch easier to read.
-
--minimal::
Spend extra time to make sure the smallest possible
diff is produced.
diff --git a/diff.c b/diff.c
index 05ca3ce08e..f62b7f73d8 100644
--- a/diff.c
+++ b/diff.c
@@ -25,7 +25,6 @@
#endif
static int diff_detect_rename_default;
-static int diff_compaction_heuristic = 1;
static int diff_rename_limit_default = 400;
static int diff_suppress_blank_empty;
static int diff_use_color_default = -1;
@@ -184,10 +183,6 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
diff_detect_rename_default = git_config_rename(var, value);
return 0;
}
- if (!strcmp(var, "diff.compactionheuristic")) {
- diff_compaction_heuristic = git_config_bool(var, value);
- return 0;
- }
if (!strcmp(var, "diff.autorefreshindex")) {
diff_auto_refresh_index = git_config_bool(var, value);
return 0;
@@ -3240,8 +3235,6 @@ void diff_setup(struct diff_options *options)
options->use_color = diff_use_color_default;
options->detect_rename = diff_detect_rename_default;
options->xdl_opts |= diff_algorithm;
- if (diff_compaction_heuristic)
- DIFF_XDL_SET(options, COMPACTION_HEURISTIC);
options->orderfile = diff_order_file_cfg;
@@ -3719,10 +3712,6 @@ 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, "--ignore-blank-lines"))
DIFF_XDL_SET(options, IGNORE_BLANK_LINES);
- else if (!strcmp(arg, "--compaction-heuristic"))
- DIFF_XDL_SET(options, COMPACTION_HEURISTIC);
- else if (!strcmp(arg, "--no-compaction-heuristic"))
- DIFF_XDL_CLR(options, COMPACTION_HEURISTIC);
else if (!strcmp(arg, "--patience"))
options->xdl_opts = DIFF_WITH_ALG(options, PATIENCE_DIFF);
else if (!strcmp(arg, "--histogram"))
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index d1dbb2750a..c0339919cc 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -41,8 +41,6 @@ extern "C" {
#define XDF_IGNORE_BLANK_LINES (1 << 7)
-#define XDF_COMPACTION_HEURISTIC (1 << 8)
-
#define XDL_EMIT_FUNCNAMES (1 << 0)
#define XDL_EMIT_COMMON (1 << 1)
#define XDL_EMIT_FUNCCONTEXT (1 << 2)
diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c
index b3c6848875..574f83ca1e 100644
--- a/xdiff/xdiffi.c
+++ b/xdiff/xdiffi.c
@@ -522,7 +522,7 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) {
* As we already shifted the group forward as far as possible
* in the earlier loop, we need to shift it back only if at all.
*/
- if ((flags & XDF_COMPACTION_HEURISTIC) && blank_lines) {
+ if (blank_lines) {
while (ixs > 0 &&
!is_blank_line(recs, ix - 1, flags) &&
recs_match(recs, ixs - 1, ix - 1, flags)) {