mercurial/revlogutils/deltas.py
changeset 39519 e4d4361d0bcd
parent 39518 993d7e2c8b79
child 39520 5aef5afa8654
equal deleted inserted replaced
39518:993d7e2c8b79 39519:e4d4361d0bcd
   645             return
   645             return
   646     for candidates in _rawgroups(revlog, p1, p2, cachedelta):
   646     for candidates in _rawgroups(revlog, p1, p2, cachedelta):
   647         good = yield candidates
   647         good = yield candidates
   648         if good is not None:
   648         if good is not None:
   649             break
   649             break
       
   650 
       
   651     # if we have a refinable value, try to refine it
       
   652     if good is not None and good not in (p1, p2) and revlog.issnapshot(good):
       
   653         # refine snapshot down
       
   654         previous = None
       
   655         while previous != good:
       
   656             previous = good
       
   657             base = revlog.deltaparent(good)
       
   658             if base == nullrev:
       
   659                 break
       
   660             good = yield (base,)
   650     # we have found nothing
   661     # we have found nothing
   651     yield None
   662     yield None
   652 
   663 
   653 def _rawgroups(revlog, p1, p2, cachedelta):
   664 def _rawgroups(revlog, p1, p2, cachedelta):
   654     """Provides group of revision to be tested as delta base
   665     """Provides group of revision to be tested as delta base