diff -r c1d163ce7394 -r 4644e991a12a mercurial/revset.py --- a/mercurial/revset.py Thu Jun 11 15:36:03 2015 -0700 +++ b/mercurial/revset.py Thu Jun 11 15:37:17 2015 -0700 @@ -1105,6 +1105,7 @@ hs = set() for b, ls in repo.branchmap().iteritems(): hs.update(repo[h].rev() for h in ls) + # XXX We should not be using '.filter' here, but combines subset with '&' # XXX We should combine with subset first: 'subset & baseset(...)'. This is # necessary to ensure we preserve the order in subset. return baseset(hs).filter(subset.__contains__)