# HG changeset patch # User Boris Feld # Date 2018-09-07 15:17:37 # Node ID 05a165dc4f55593e00959477e6d779e9ba087f1a # Parent 5aef5afa8654d0f32423d2b6cb51a47f3ccbe6d3 snapshot: extract parent chain computation The final step of this series is to include chain related to "prev" in the search. Before adding that code we do some simple code movement to clarify the next diff. diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py +++ b/mercurial/revlogutils/deltas.py @@ -711,8 +711,9 @@ def _rawgroups(revlog, p1, p2, cachedelt # search for snapshot in parents delta chain # map: snapshot-level: snapshot-rev parents_snaps = collections.defaultdict(set) - for p in parents: - for idx, s in enumerate(deltachain(p)): + candidate_chains = [deltachain(p) for p in parents] + for chain in candidate_chains: + for idx, s in enumerate(chain): if not revlog.issnapshot(s): break parents_snaps[idx].add(s)