equal
deleted
inserted
replaced
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 |