diff -r 5cc04a6da19d -r 94fe4474b053 mercurial/revlogutils/deltas.py --- 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: