diff -r 2ca116614cfc -r d50677c3bf44 mercurial/revset.py --- a/mercurial/revset.py Wed Jul 01 13:14:03 2015 -0700 +++ b/mercurial/revset.py Thu Jul 02 23:46:18 2015 -0700 @@ -1478,11 +1478,13 @@ else: ps = set() cl = repo.changelog + up = ps.update + parentrevs = cl.parentrevs for r in getset(repo, fullreposet(repo), x): if r is None: - ps.update(p.rev() for p in repo[r].parents()) + up(p.rev() for p in repo[r].parents()) else: - ps.update(cl.parentrevs(r)) + up(parentrevs(r)) ps -= set([node.nullrev]) return subset & ps