mercurial/revlogutils/deltas.py
changeset 39499 51cec7fb672e
parent 39498 04b75f3a3f2a
child 39500 cc85ebb68ff9
equal deleted inserted replaced
39498:04b75f3a3f2a 39499:51cec7fb672e
   585     good = None
   585     good = None
   586 
   586 
   587     deltas_limit = textlen * LIMIT_DELTA2TEXT
   587     deltas_limit = textlen * LIMIT_DELTA2TEXT
   588 
   588 
   589     tested = set([nullrev])
   589     tested = set([nullrev])
   590     for temptative in _refinedgroups(revlog, p1, p2, cachedelta):
   590     candidates = _refinedgroups(revlog, p1, p2, cachedelta)
       
   591     while True:
       
   592         temptative = next(candidates)
       
   593         if temptative is None:
       
   594             break
   591         group = []
   595         group = []
   592         for rev in temptative:
   596         for rev in temptative:
   593             # skip over empty delta (no need to include them in a chain)
   597             # skip over empty delta (no need to include them in a chain)
   594             while not (rev == nullrev or rev in tested or deltalength(rev)):
   598             while not (rev == nullrev or rev in tested or deltalength(rev)):
   595                 rev = deltaparent(rev)
   599                 rev = deltaparent(rev)
   630     good = None
   634     good = None
   631     for candidates in _rawgroups(revlog, p1, p2, cachedelta):
   635     for candidates in _rawgroups(revlog, p1, p2, cachedelta):
   632         good = yield candidates
   636         good = yield candidates
   633         if good is not None:
   637         if good is not None:
   634             break
   638             break
       
   639     # we have found nothing
       
   640     yield None
   635 
   641 
   636 def _rawgroups(revlog, p1, p2, cachedelta):
   642 def _rawgroups(revlog, p1, p2, cachedelta):
   637     """Provides group of revision to be tested as delta base
   643     """Provides group of revision to be tested as delta base
   638 
   644 
   639     This lower level function focus on emitting delta theorically interresting
   645     This lower level function focus on emitting delta theorically interresting