# HG changeset patch # User Boris Feld # Date 2018-09-07 15:17:34 # Node ID cc85ebb68ff9527f9b07bbe69588782df1f14414 # Parent 51cec7fb672e0ddd923fa26b5de83f86be334335 snapshot: turn _refinedgroups into a coroutine We are now almost ready to start adding refining logic. diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py +++ b/mercurial/revlogutils/deltas.py @@ -589,7 +589,7 @@ def _candidategroups(revlog, textlen, p1 tested = set([nullrev]) candidates = _refinedgroups(revlog, p1, p2, cachedelta) while True: - temptative = next(candidates) + temptative = candidates.send(good) if temptative is None: break group = [] @@ -618,8 +618,6 @@ def _candidategroups(revlog, textlen, p1 # impacting performances. Some bounding or slicing mecanism # would help to reduce this impact. good = yield tuple(group) - if good is not None: - break yield None def _findsnapshots(revlog, cache, start_rev):