mercurial/revlogutils/deltas.py
changeset 39520 5aef5afa8654
parent 39519 e4d4361d0bcd
child 39521 05a165dc4f55
equal deleted inserted replaced
39519:e4d4361d0bcd 39520:5aef5afa8654
   656             previous = good
   656             previous = good
   657             base = revlog.deltaparent(good)
   657             base = revlog.deltaparent(good)
   658             if base == nullrev:
   658             if base == nullrev:
   659                 break
   659                 break
   660             good = yield (base,)
   660             good = yield (base,)
       
   661         # refine snapshot up
       
   662         #
       
   663         # XXX the _findsnapshots call can be expensive and is "duplicated" with
       
   664         # the one done in `_rawgroups`. Once we start working on performance,
       
   665         # we should make the two logics share this computation.
       
   666         snapshots = collections.defaultdict(list)
       
   667         _findsnapshots(revlog, snapshots, good + 1)
       
   668         previous = None
       
   669         while good != previous:
       
   670             previous = good
       
   671             children = tuple(sorted(c for c in snapshots[good]))
       
   672             good = yield children
       
   673 
   661     # we have found nothing
   674     # we have found nothing
   662     yield None
   675     yield None
   663 
   676 
   664 def _rawgroups(revlog, p1, p2, cachedelta):
   677 def _rawgroups(revlog, p1, p2, cachedelta):
   665     """Provides group of revision to be tested as delta base
   678     """Provides group of revision to be tested as delta base