comparison mercurial/setdiscovery.py @ 41883:1f069f37e601

discovery: simplify the building of the children mapping Since we only care about the revisions inside the set we are sampling, we can use simpler code (and probably sightly faster).
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 05 Mar 2019 15:39:54 +0100
parents c98420914c10
children d5e6ae6e8012
comparison
equal deleted inserted replaced
41882:c98420914c10 41883:1f069f37e601
217 children = {} 217 children = {}
218 218
219 for rev in sorted(revs): 219 for rev in sorted(revs):
220 # Always ensure revision has an entry so we don't need to worry 220 # Always ensure revision has an entry so we don't need to worry
221 # about missing keys. 221 # about missing keys.
222 children.setdefault(rev, []) 222 children[rev] = []
223
224 for prev in parentrevs(rev): 223 for prev in parentrevs(rev):
225 if prev == nullrev: 224 if prev == nullrev:
226 continue 225 continue
227 226 c = children.get(prev)
228 children.setdefault(prev, []).append(rev) 227 if c is not None:
228 c.append(rev)
229 229
230 _updatesample(revs, revsroots, sample, children.__getitem__) 230 _updatesample(revs, revsroots, sample, children.__getitem__)
231 assert sample 231 assert sample
232 sample = _limitsample(sample, size) 232 sample = _limitsample(sample, size)
233 if len(sample) < size: 233 if len(sample) < size: