diff -r c38e5556d87b -r ada89e5b5b0c mercurial/revset.py --- a/mercurial/revset.py Thu Feb 06 08:31:55 2014 -0800 +++ b/mercurial/revset.py Thu Feb 06 08:32:40 2014 -0800 @@ -571,7 +571,7 @@ source = repo[r].extra().get('convert_revision', None) return source is not None and (rev is None or source.startswith(rev)) - return baseset([r for r in subset if _matchvalue(r)]) + return lazyset(subset, lambda r: _matchvalue(r)) def date(repo, subset, x): """``date(interval)``