mercurial/revlog.py
branchstable
changeset 36744 33275ab5e837
parent 36743 d031609b3cb7
child 36748 369aadf7a326
equal deleted inserted replaced
36743:d031609b3cb7 36744:33275ab5e837
   405 
   405 
   406         deltainfo = None
   406         deltainfo = None
   407         for candidaterevs in self._getcandidaterevs(p1, p2, cachedelta):
   407         for candidaterevs in self._getcandidaterevs(p1, p2, cachedelta):
   408             nominateddeltas = []
   408             nominateddeltas = []
   409             for candidaterev in candidaterevs:
   409             for candidaterev in candidaterevs:
       
   410                 # no delta for rawtext-changing revs (see "candelta" for why)
       
   411                 if revlog.flags(candidaterev) & REVIDX_RAWTEXT_CHANGING_FLAGS:
       
   412                     continue
   410                 candidatedelta = self._builddeltainfo(revinfo, candidaterev, fh)
   413                 candidatedelta = self._builddeltainfo(revinfo, candidaterev, fh)
   411                 if revlog._isgooddeltainfo(candidatedelta, revinfo.textlen):
   414                 if revlog._isgooddeltainfo(candidatedelta, revinfo.textlen):
   412                     nominateddeltas.append(candidatedelta)
   415                     nominateddeltas.append(candidatedelta)
   413             if nominateddeltas:
   416             if nominateddeltas:
   414                 deltainfo = min(nominateddeltas, key=lambda x: x.deltalen)
   417                 deltainfo = min(nominateddeltas, key=lambda x: x.deltalen)
  2088 
  2091 
  2089         if deltacomputer is None:
  2092         if deltacomputer is None:
  2090             deltacomputer = _deltacomputer(self)
  2093             deltacomputer = _deltacomputer(self)
  2091 
  2094 
  2092         revinfo = _revisioninfo(node, p1, p2, btext, textlen, cachedelta, flags)
  2095         revinfo = _revisioninfo(node, p1, p2, btext, textlen, cachedelta, flags)
  2093         deltainfo = deltacomputer.finddeltainfo(revinfo, fh)
  2096 
       
  2097         # no delta for flag processor revision (see "candelta" for why)
       
  2098         # not calling candelta since only one revision needs test, also to
       
  2099         # avoid overhead fetching flags again.
       
  2100         if flags & REVIDX_RAWTEXT_CHANGING_FLAGS:
       
  2101             deltainfo = None
       
  2102         else:
       
  2103             deltainfo = deltacomputer.finddeltainfo(revinfo, fh)
  2094 
  2104 
  2095         if deltainfo is not None:
  2105         if deltainfo is not None:
  2096             base = deltainfo.base
  2106             base = deltainfo.base
  2097             chainbase = deltainfo.chainbase
  2107             chainbase = deltainfo.chainbase
  2098             data = deltainfo.data
  2108             data = deltainfo.data