Mercurial > hg
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: |