From 319871c177c7273710ff32c66d9ed10a2ee5d2c8 Mon Sep 17 00:00:00 2001 From: Ezekiel Newren Date: Fri, 2 Jan 2026 18:52:18 +0000 Subject: [PATCH] xdiff: let patience and histogram benefit from xdl_trim_ends() The patience diff is set up the exact same way as histogram, see xdl_do_historgram_diff() in xhistogram.c. xdl_optimize_ctxs() is redundant now, delete it. Signed-off-by: Ezekiel Newren Signed-off-by: Junio C Hamano --- xdiff/xpatience.c | 4 +++- xdiff/xprepare.c | 14 ++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/xdiff/xpatience.c b/xdiff/xpatience.c index 9580d18032..2bce07cf48 100644 --- a/xdiff/xpatience.c +++ b/xdiff/xpatience.c @@ -373,5 +373,7 @@ static int patience_diff(xpparam_t const *xpp, xdfenv_t *env, int xdl_do_patience_diff(xpparam_t const *xpp, xdfenv_t *env) { - return patience_diff(xpp, env, 1, (int)env->xdf1.nrec, 1, (int)env->xdf2.nrec); + return patience_diff(xpp, env, + env->xdf1.dstart + 1, env->xdf1.dend - env->xdf1.dstart + 1, + env->xdf2.dstart + 1, env->xdf2.dend - env->xdf2.dstart + 1); } diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c index 96a32cc5e9..0d7d9f6146 100644 --- a/xdiff/xprepare.c +++ b/xdiff/xprepare.c @@ -366,17 +366,6 @@ static int xdl_trim_ends(xdfile_t *xdf1, xdfile_t *xdf2) { } -static int xdl_optimize_ctxs(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xdf2) { - - if (xdl_trim_ends(xdf1, xdf2) < 0 || - xdl_cleanup_records(cf, xdf1, xdf2) < 0) { - - return -1; - } - - return 0; -} - int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *xe) { xdlclassifier_t cf; @@ -404,9 +393,10 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdl_classify_record(2, &cf, rec); } + xdl_trim_ends(&xe->xdf1, &xe->xdf2); if ((XDF_DIFF_ALG(xpp->flags) != XDF_PATIENCE_DIFF) && (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF) && - xdl_optimize_ctxs(&cf, &xe->xdf1, &xe->xdf2) < 0) { + xdl_cleanup_records(&cf, &xe->xdf1, &xe->xdf2) < 0) { xdl_free_ctx(&xe->xdf2); xdl_free_ctx(&xe->xdf1);