Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 15903:0329d3b12d8e
revset: roots needs to be computed on full set
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 17 Jan 2012 17:48:59 -0600 |
parents | 476a981fdf34 |
children | 878bc4a62a73 |
comparison
equal
deleted
inserted
replaced
15902:4252d9f08d7e | 15903:0329d3b12d8e |
---|---|
323 | 323 |
324 def _children(repo, narrow, s): | 324 def _children(repo, narrow, s): |
325 cs = set() | 325 cs = set() |
326 pr = repo.changelog.parentrevs | 326 pr = repo.changelog.parentrevs |
327 s = set(s) | 327 s = set(s) |
328 for r in narrow: | 328 for r in xrange(len(repo)): |
329 for p in pr(r): | 329 for p in pr(r): |
330 if p in s: | 330 if p in s: |
331 cs.add(r) | 331 cs.add(r) |
332 return cs | 332 return cs |
333 | 333 |
774 | 774 |
775 def roots(repo, subset, x): | 775 def roots(repo, subset, x): |
776 """``roots(set)`` | 776 """``roots(set)`` |
777 Changesets with no parent changeset in set. | 777 Changesets with no parent changeset in set. |
778 """ | 778 """ |
779 s = getset(repo, subset, x) | 779 s = getset(repo, xrange(len(repo)), x) |
780 cs = _children(repo, s, s) | 780 cs = _children(repo, s, s) |
781 return [r for r in s if r not in cs] | 781 return [r for r in s if r not in cs] |
782 | 782 |
783 def secret(repo, subset, x): | 783 def secret(repo, subset, x): |
784 """``secret()`` | 784 """``secret()`` |