Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revset.py @ 20454:47fd57f650e5
revset: added lazyset implementation to merge revset
Performance benchmarking:
$ time hg log -qr "first(merge())"
102:58039eddbdda
real 0m0.276s
user 0m0.208s
sys 0m0.047s
$ time ./hg log -qr "first(merge())"
102:58039eddbdda
real 0m0.192s
user 0m0.154s
sys 0m0.027s
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Thu, 30 Jan 2014 16:47:29 -0800 |
parents | 6aa7dcae6bd8 |
children | 9a49feb408f3 |
comparison
equal
deleted
inserted
replaced
20453:6aa7dcae6bd8 | 20454:47fd57f650e5 |
---|---|
990 Changeset is a merge changeset. | 990 Changeset is a merge changeset. |
991 """ | 991 """ |
992 # i18n: "merge" is a keyword | 992 # i18n: "merge" is a keyword |
993 getargs(x, 0, 0, _("merge takes no arguments")) | 993 getargs(x, 0, 0, _("merge takes no arguments")) |
994 cl = repo.changelog | 994 cl = repo.changelog |
995 return baseset([r for r in subset if cl.parentrevs(r)[1] != -1]) | 995 return lazyset(subset, lambda r: cl.parentrevs(r)[1] != -1) |
996 | 996 |
997 def branchpoint(repo, subset, x): | 997 def branchpoint(repo, subset, x): |
998 """``branchpoint()`` | 998 """``branchpoint()`` |
999 Changesets with more than one child. | 999 Changesets with more than one child. |
1000 """ | 1000 """ |