mercurial/revlogutils/deltas.py
changeset 51350 1ea56b10dd4a
parent 51349 9a1239c362ae
child 51351 176d530f59af
equal deleted inserted replaced
51349:9a1239c362ae 51350:1ea56b10dd4a
   806                     # delta probable lower bound is larger than target
   806                     # delta probable lower bound is larger than target
   807                     # base
   807                     # base
   808                     return False
   808                     return False
   809         return True
   809         return True
   810 
   810 
   811     def _pre_filter_rev(self, rev):
   811     def _pre_filter_rev_delta_chain(self, rev):
   812         """return True if it seems okay to test a rev, False otherwise"""
   812         """pre filtering that is needed in sparse revlog cases
   813         if not self._pre_filter_rev_universal(rev):
   813 
   814             return False
   814         return True if it seems okay to test a rev, False otherwise.
   815 
   815 
       
   816         used by _pre_filter_rev.
       
   817         """
   816         deltas_limit = self.revinfo.textlen * LIMIT_DELTA2TEXT
   818         deltas_limit = self.revinfo.textlen * LIMIT_DELTA2TEXT
   817         # filter out delta base that will never produce good delta
   819         # filter out delta base that will never produce good delta
   818         #
   820         #
   819         # if the delta of that base is already bigger than the limit
   821         # if the delta of that base is already bigger than the limit
   820         # for the delta chain size, doing a delta is hopeless.
   822         # for the delta chain size, doing a delta is hopeless.
   833         ):
   835         ):
   834             return False
   836             return False
   835         # if chain already have too much data, skip base
   837         # if chain already have too much data, skip base
   836         if deltas_limit < chainsize:
   838         if deltas_limit < chainsize:
   837             return False
   839             return False
   838 
   840         return True
       
   841 
       
   842     def _pre_filter_rev(self, rev):
       
   843         """return True if it seems okay to test a rev, False otherwise"""
       
   844         if not self._pre_filter_rev_universal(rev):
       
   845             return False
       
   846         if not self._pre_filter_rev_delta_chain(rev):
       
   847             return False
   839         if self.revlog.delta_config.sparse_revlog:
   848         if self.revlog.delta_config.sparse_revlog:
   840             if not self._pre_filter_rev_sparse(rev):
   849             if not self._pre_filter_rev_sparse(rev):
   841                 return False
   850                 return False
   842 
   851 
   843         return True
   852         return True