aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonin Delpeuch <antonin@delpeuch.eu>2025-11-17 08:04:31 +0000
committerJunio C Hamano <gitster@pobox.com>2025-11-17 09:31:59 -0800
commit881793c4f71c84e70af256c5721475c7c088b3f7 (patch)
treefccca8bde8b9607a55a22b7d691447681943c9ec
parent419c72cb8ada252b260efc38ff91fe201de7c8c3 (diff)
downloadgit-881793c4f71c84e70af256c5721475c7c088b3f7.tar.xz
xdiff: add 'minimal' to XDF_DIFF_ALGORITHM_MASK
The XDF_DIFF_ALGORITHM_MASK bit mask only includes bits for the patience and histogram diffs, not for the minimal one. This means that when reseting the diff algorithm to the default one, one needs to separately clear the bit for the minimal diff. There are places in the code that fail to do that: merge-ort.c and builtin/merge-file.c. Add the XDF_NEED_MINIMAL bit to the bit mask, and remove the separate clearing of this bit in the places where it hasn't been forgotten. Signed-off-by: Antonin Delpeuch <antonin@delpeuch.eu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--diff.c1
-rw-r--r--merge-ort.c1
-rw-r--r--xdiff/xdiff.h2
3 files changed, 1 insertions, 3 deletions
diff --git a/diff.c b/diff.c
index a74e701806..0eec4a2fe8 100644
--- a/diff.c
+++ b/diff.c
@@ -3527,7 +3527,6 @@ static int set_diff_algorithm(struct diff_options *opts,
return -1;
/* clear out previous settings */
- DIFF_XDL_CLR(opts, NEED_MINIMAL);
opts->xdl_opts &= ~XDF_DIFF_ALGORITHM_MASK;
opts->xdl_opts |= value;
diff --git a/merge-ort.c b/merge-ort.c
index 29858074f9..23e2b64c79 100644
--- a/merge-ort.c
+++ b/merge-ort.c
@@ -5496,7 +5496,6 @@ int parse_merge_opt(struct merge_options *opt, const char *s)
if (value < 0)
return -1;
/* clear out previous settings */
- DIFF_XDL_CLR(opt, NEED_MINIMAL);
opt->xdl_opts &= ~XDF_DIFF_ALGORITHM_MASK;
opt->xdl_opts |= value;
}
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index 2cecde5afe..dc370712e9 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -43,7 +43,7 @@ extern "C" {
#define XDF_PATIENCE_DIFF (1 << 14)
#define XDF_HISTOGRAM_DIFF (1 << 15)
-#define XDF_DIFF_ALGORITHM_MASK (XDF_PATIENCE_DIFF | XDF_HISTOGRAM_DIFF)
+#define XDF_DIFF_ALGORITHM_MASK (XDF_PATIENCE_DIFF | XDF_HISTOGRAM_DIFF | XDF_NEED_MINIMAL)
#define XDF_DIFF_ALG(x) ((x) & XDF_DIFF_ALGORITHM_MASK)
#define XDF_INDENT_HEURISTIC (1 << 23)