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.
--- a/mercurial/revlogutils/deltas.py Thu Nov 23 21:51:43 2023 +0100
+++ b/mercurial/revlogutils/deltas.py Thu Nov 23 21:44:51 2023 +0100
@@ -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: