Mercurial > hg
changeset 49680:40e24d82b513
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.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 06 Nov 2022 17:55:55 -0500 |
parents | b670eb3dd6c9 |
children | c261a628e525 |
files | mercurial/revlogutils/deltas.py |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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