Show More
@@ -582,6 +582,7 b' def _candidategroups(revlog, textlen, p1' | |||
|
582 | 582 | |
|
583 | 583 | deltalength = revlog.length |
|
584 | 584 | deltaparent = revlog.deltaparent |
|
585 | good = None | |
|
585 | 586 | |
|
586 | 587 | deltas_limit = textlen * LIMIT_DELTA2TEXT |
|
587 | 588 | |
@@ -612,7 +613,9 b' def _candidategroups(revlog, textlen, p1' | |||
|
612 | 613 | # XXX: in the sparse revlog case, group can become large, |
|
613 | 614 | # impacting performances. Some bounding or slicing mecanism |
|
614 | 615 | # would help to reduce this impact. |
|
615 | yield tuple(group) | |
|
616 | good = yield tuple(group) | |
|
617 | if good is not None: | |
|
618 | break | |
|
616 | 619 | yield None |
|
617 | 620 | |
|
618 | 621 | def _findsnapshots(revlog, cache, start_rev): |
@@ -847,14 +850,20 b' class deltacomputer(object):' | |||
|
847 | 850 | candidaterevs = next(groups) |
|
848 | 851 | while candidaterevs is not None: |
|
849 | 852 | nominateddeltas = [] |
|
853 | if deltainfo is not None: | |
|
854 | # if we already found a good delta, | |
|
855 | # challenge it against refined candidates | |
|
856 | nominateddeltas.append(deltainfo) | |
|
850 | 857 | for candidaterev in candidaterevs: |
|
851 | 858 | candidatedelta = self._builddeltainfo(revinfo, candidaterev, fh) |
|
852 | 859 | if isgooddeltainfo(self.revlog, candidatedelta, revinfo): |
|
853 | 860 | nominateddeltas.append(candidatedelta) |
|
854 | 861 | if nominateddeltas: |
|
855 | 862 | deltainfo = min(nominateddeltas, key=lambda x: x.deltalen) |
|
856 | break | |
|
857 |
candidaterevs = |
|
|
863 | if deltainfo is not None: | |
|
864 | candidaterevs = groups.send(deltainfo.base) | |
|
865 | else: | |
|
866 | candidaterevs = next(groups) | |
|
858 | 867 | |
|
859 | 868 | if deltainfo is None: |
|
860 | 869 | deltainfo = self._fullsnapshotinfo(fh, revinfo) |
General Comments 0
You need to be logged in to leave comments.
Login now