Mercurial > public > mercurial-scm > hg
comparison mercurial/revlogutils/deltas.py @ 39335:1441eb38849f
revlogdeltas: pass revision number to _candidatesgroups
The `_candidates_groups` logic works on revisions, so the nodes are currently
just converted to revs at the top of the function. It seems cleaner to instead
pass revision numbers to the function.
Having this conversion out of the way will help for further cleanups.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Sat, 18 Aug 2018 07:32:05 +0200 |
parents | 507f5b1dd7c8 |
children | 1c6ff52fe9cf |
comparison
equal
deleted
inserted
replaced
39334:507f5b1dd7c8 | 39335:1441eb38849f |
---|---|
574 grouped by level of easiness. | 574 grouped by level of easiness. |
575 """ | 575 """ |
576 gdelta = revlog._generaldelta | 576 gdelta = revlog._generaldelta |
577 curr = len(revlog) | 577 curr = len(revlog) |
578 prev = curr - 1 | 578 prev = curr - 1 |
579 p1r, p2r = revlog.rev(p1), revlog.rev(p2) | |
580 | 579 |
581 # should we try to build a delta? | 580 # should we try to build a delta? |
582 if prev != nullrev and revlog._storedeltachains: | 581 if prev != nullrev and revlog._storedeltachains: |
583 tested = set() | 582 tested = set() |
584 # This condition is true most of the time when processing | 583 # This condition is true most of the time when processing |
591 yield (cachedelta[0],) | 590 yield (cachedelta[0],) |
592 tested.add(cachedelta[0]) | 591 tested.add(cachedelta[0]) |
593 | 592 |
594 if gdelta: | 593 if gdelta: |
595 # exclude already lazy tested base if any | 594 # exclude already lazy tested base if any |
596 parents = [p for p in (p1r, p2r) | 595 parents = [p for p in (p1, p2) |
597 if p != nullrev and p not in tested] | 596 if p != nullrev and p not in tested] |
598 | 597 |
599 if not revlog._deltabothparents and len(parents) == 2: | 598 if not revlog._deltabothparents and len(parents) == 2: |
600 parents.sort() | 599 parents.sort() |
601 # To minimize the chance of having to build a fulltext, | 600 # To minimize the chance of having to build a fulltext, |
732 deltalength = self.revlog.length | 731 deltalength = self.revlog.length |
733 deltaparent = self.revlog.deltaparent | 732 deltaparent = self.revlog.deltaparent |
734 | 733 |
735 deltainfo = None | 734 deltainfo = None |
736 deltas_limit = revinfo.textlen * LIMIT_DELTA2TEXT | 735 deltas_limit = revinfo.textlen * LIMIT_DELTA2TEXT |
737 groups = _candidategroups(self.revlog, p1, p2, cachedelta) | 736 p1r, p2r = revlog.rev(p1), revlog.rev(p2) |
737 groups = _candidategroups(self.revlog, p1r, p2r, cachedelta) | |
738 for candidaterevs in groups: | 738 for candidaterevs in groups: |
739 # filter out delta base that will never produce good delta | 739 # filter out delta base that will never produce good delta |
740 candidaterevs = [r for r in candidaterevs | 740 candidaterevs = [r for r in candidaterevs |
741 if self.revlog.length(r) <= deltas_limit] | 741 if self.revlog.length(r) <= deltas_limit] |
742 nominateddeltas = [] | 742 nominateddeltas = [] |