mercurial/revlogutils/deltas.py
changeset 51337 1ea56b10dd4a
parent 51336 9a1239c362ae
child 51338 176d530f59af
--- a/mercurial/revlogutils/deltas.py	Thu Jan 04 14:51:48 2024 +0100
+++ b/mercurial/revlogutils/deltas.py	Thu Jan 04 15:04:10 2024 +0100
@@ -808,11 +808,13 @@
                     return False
         return True
 
-    def _pre_filter_rev(self, rev):
-        """return True if it seems okay to test a rev, False otherwise"""
-        if not self._pre_filter_rev_universal(rev):
-            return False
+    def _pre_filter_rev_delta_chain(self, rev):
+        """pre filtering that is needed in sparse revlog cases
 
+        return True if it seems okay to test a rev, False otherwise.
+
+        used by _pre_filter_rev.
+        """
         deltas_limit = self.revinfo.textlen * LIMIT_DELTA2TEXT
         # filter out delta base that will never produce good delta
         #
@@ -835,7 +837,14 @@
         # if chain already have too much data, skip base
         if deltas_limit < chainsize:
             return False
+        return True
 
+    def _pre_filter_rev(self, rev):
+        """return True if it seems okay to test a rev, False otherwise"""
+        if not self._pre_filter_rev_universal(rev):
+            return False
+        if not self._pre_filter_rev_delta_chain(rev):
+            return False
         if self.revlog.delta_config.sparse_revlog:
             if not self._pre_filter_rev_sparse(rev):
                 return False