Mercurial > public > mercurial-scm > hg
comparison mercurial/revlogutils/deltas.py @ 39504:05a165dc4f55
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.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 07 Sep 2018 11:17:37 -0400 |
parents | 5aef5afa8654 |
children | c6b8eab5db19 |
comparison
equal
deleted
inserted
replaced
39503:5aef5afa8654 | 39504:05a165dc4f55 |
---|---|
709 # a base for a new intermediate-snapshot | 709 # a base for a new intermediate-snapshot |
710 # | 710 # |
711 # search for snapshot in parents delta chain | 711 # search for snapshot in parents delta chain |
712 # map: snapshot-level: snapshot-rev | 712 # map: snapshot-level: snapshot-rev |
713 parents_snaps = collections.defaultdict(set) | 713 parents_snaps = collections.defaultdict(set) |
714 for p in parents: | 714 candidate_chains = [deltachain(p) for p in parents] |
715 for idx, s in enumerate(deltachain(p)): | 715 for chain in candidate_chains: |
716 for idx, s in enumerate(chain): | |
716 if not revlog.issnapshot(s): | 717 if not revlog.issnapshot(s): |
717 break | 718 break |
718 parents_snaps[idx].add(s) | 719 parents_snaps[idx].add(s) |
719 snapfloor = min(parents_snaps[0]) + 1 | 720 snapfloor = min(parents_snaps[0]) + 1 |
720 _findsnapshots(revlog, snapshots, snapfloor) | 721 _findsnapshots(revlog, snapshots, snapfloor) |