# HG changeset patch # User Pierre-Yves David <pierre-yves.david@octobus.net> # Date 1700772291 -3600 # Thu Nov 23 21:44:51 2023 +0100 # Node ID 94fe4474b0533ddf75fcd0f27db5686e9a9d7f19 # Parent 5cc04a6da19d0f4e730f894906cb26c4cadd9a26 delta-find: move the emotion of prev in a dedicated method After splitting the filtering, and with the `_candidate_groups` layer removed, we can start splitting the group generation too. This helps to organize this code and make it easier to modifying the future. diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py +++ b/mercurial/revlogutils/deltas.py @@ -1074,6 +1074,12 @@ # Test all parents (1 or 2), and keep the best candidate yield parents + def _iter_prev(self): + # other approach failed try against prev to hopefully save us a + # fulltext. + self.current_stage = _STAGE_PREV + yield (self.target_rev - 1,) + def _refined_groups(self): good = None groups = self._raw_groups() @@ -1221,10 +1227,7 @@ yield tuple(sorted(full)) if not sparse: - # other approach failed try against prev to hopefully save us a - # fulltext. - self.current_stage = _STAGE_PREV - yield (prev,) + yield from self._iter_prev() class SnapshotCache: