##// END OF EJS Templates
delta: ignore base whose chains already don't match expectations...
Boris Feld -
r41015:ba09db26 default
parent child Browse files
Show More
@@ -655,6 +655,17 b' def _candidategroups(revlog, textlen, p1'
655 # no delta for rawtext-changing revs (see "candelta" for why)
655 # no delta for rawtext-changing revs (see "candelta" for why)
656 if revlog.flags(rev) & REVIDX_RAWTEXT_CHANGING_FLAGS:
656 if revlog.flags(rev) & REVIDX_RAWTEXT_CHANGING_FLAGS:
657 continue
657 continue
658 # If we reach here, we are about to build and test a delta.
659 # The delta building process will compute the chaininfo in all
660 # case, since that computation is cached, it is fine to access it
661 # here too.
662 chainlen, chainsize = revlog._chaininfo(rev)
663 # if chain will be too long, skip base
664 if revlog._maxchainlen and chainlen >= revlog._maxchainlen:
665 continue
666 # if chain already have too much data, skip base
667 if deltas_limit < chainsize:
668 continue
658 group.append(rev)
669 group.append(rev)
659 if group:
670 if group:
660 # XXX: in the sparse revlog case, group can become large,
671 # XXX: in the sparse revlog case, group can become large,
General Comments 0
You need to be logged in to leave comments. Login now