]> git.ipfire.org Git - thirdparty/git.git/commitdiff
xdiff: let patience and histogram benefit from xdl_trim_ends()
authorEzekiel Newren <ezekielnewren@gmail.com>
Fri, 2 Jan 2026 18:52:18 +0000 (18:52 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 4 Jan 2026 02:44:51 +0000 (11:44 +0900)
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 <ezekielnewren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
xdiff/xpatience.c
xdiff/xprepare.c

index 9580d180320aec0414237e50276cfd8a922fe9c8..2bce07cf48c191a16fc67b0e098e53e7b396bb49 100644 (file)
@@ -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);
 }
index 96a32cc5e9aab2a580c1b1499c69ad494729fb4f..0d7d9f61466382110d1690d34e751ac5254b3a59 100644 (file)
@@ -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);