mercurial/revlogutils/deltas.py
changeset 39500 cc85ebb68ff9
parent 39499 51cec7fb672e
child 39501 993d7e2c8b79
equal deleted inserted replaced
39499:51cec7fb672e 39500:cc85ebb68ff9
   587     deltas_limit = textlen * LIMIT_DELTA2TEXT
   587     deltas_limit = textlen * LIMIT_DELTA2TEXT
   588 
   588 
   589     tested = set([nullrev])
   589     tested = set([nullrev])
   590     candidates = _refinedgroups(revlog, p1, p2, cachedelta)
   590     candidates = _refinedgroups(revlog, p1, p2, cachedelta)
   591     while True:
   591     while True:
   592         temptative = next(candidates)
   592         temptative = candidates.send(good)
   593         if temptative is None:
   593         if temptative is None:
   594             break
   594             break
   595         group = []
   595         group = []
   596         for rev in temptative:
   596         for rev in temptative:
   597             # skip over empty delta (no need to include them in a chain)
   597             # skip over empty delta (no need to include them in a chain)
   616         if group:
   616         if group:
   617             # XXX: in the sparse revlog case, group can become large,
   617             # XXX: in the sparse revlog case, group can become large,
   618             #      impacting performances. Some bounding or slicing mecanism
   618             #      impacting performances. Some bounding or slicing mecanism
   619             #      would help to reduce this impact.
   619             #      would help to reduce this impact.
   620             good = yield tuple(group)
   620             good = yield tuple(group)
   621         if good is not None:
       
   622             break
       
   623     yield None
   621     yield None
   624 
   622 
   625 def _findsnapshots(revlog, cache, start_rev):
   623 def _findsnapshots(revlog, cache, start_rev):
   626     """find snapshot from start_rev to tip"""
   624     """find snapshot from start_rev to tip"""
   627     deltaparent = revlog.deltaparent
   625     deltaparent = revlog.deltaparent