Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 16396:03e408a122c4 stable
revset: avoid set duplication in roots()
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Sun, 08 Apr 2012 11:14:56 +0200 |
parents | c3fd35f88fbb |
children | a232a1b5ae9b |
comparison
equal
deleted
inserted
replaced
16395:c3fd35f88fbb | 16396:03e408a122c4 |
---|---|
321 if m(f): | 321 if m(f): |
322 s.append(r) | 322 s.append(r) |
323 break | 323 break |
324 return s | 324 return s |
325 | 325 |
326 def _children(repo, narrow, s): | 326 def _children(repo, narrow, parentset): |
327 cs = set() | 327 cs = set() |
328 pr = repo.changelog.parentrevs | 328 pr = repo.changelog.parentrevs |
329 s = set(s) | |
330 for r in narrow: | 329 for r in narrow: |
331 for p in pr(r): | 330 for p in pr(r): |
332 if p in s: | 331 if p in parentset: |
333 cs.add(r) | 332 cs.add(r) |
334 return cs | 333 return cs |
335 | 334 |
336 def children(repo, subset, x): | 335 def children(repo, subset, x): |
337 """``children(set)`` | 336 """``children(set)`` |
338 Child changesets of changesets in set. | 337 Child changesets of changesets in set. |
339 """ | 338 """ |
340 s = getset(repo, range(len(repo)), x) | 339 s = set(getset(repo, range(len(repo)), x)) |
341 cs = _children(repo, subset, s) | 340 cs = _children(repo, subset, s) |
342 return [r for r in subset if r in cs] | 341 return [r for r in subset if r in cs] |
343 | 342 |
344 def closed(repo, subset, x): | 343 def closed(repo, subset, x): |
345 """``closed()`` | 344 """``closed()`` |