delta-find: make sure we only use newer full snapshot as candidate
The current code does not needs to protect against this, as there are no older
snapshot in the current cache. However as we are getting ready to reuse this
cache from one revision to another, we need the code to protect itself about
what's coming.
--- a/mercurial/revlogutils/deltas.py Sun Nov 06 17:55:46 2022 -0500
+++ b/mercurial/revlogutils/deltas.py Sun Nov 06 17:55:55 2022 -0500
@@ -977,7 +977,8 @@
# revisions instead of starting our own. Without such re-use,
# topological branches would keep reopening new full chains. Creating
# more and more snapshot as the repository grow.
- yield tuple(snapshot_cache.snapshots[nullrev])
+ full = [r for r in snapshot_cache.snapshots[nullrev] if snapfloor <= r]
+ yield tuple(sorted(full))
if not sparse:
# other approach failed try against prev to hopefully save us a