diff -r c152e538b85b -r 6a1a4c212d50 mercurial/revset.py --- a/mercurial/revset.py Tue Mar 11 16:52:15 2014 -0700 +++ b/mercurial/revset.py Thu Mar 13 13:47:21 2014 -0700 @@ -940,7 +940,7 @@ hs = set() for b, ls in repo.branchmap().iteritems(): hs.update(repo[h].rev() for h in ls) - return subset.filter(lambda r: r in hs) + return baseset(hs).filter(subset.__contains__) def heads(repo, subset, x): """``heads(set)``