diff -r b970418bbafe -r b68c9d232db6 mercurial/revset.py --- a/mercurial/revset.py Tue Aug 18 16:40:10 2015 -0400 +++ b/mercurial/revset.py Fri Aug 14 15:43:29 2015 +0900 @@ -94,6 +94,7 @@ if not roots: return baseset() parentrevs = repo.changelog.parentrevs + roots = set(roots) visit = list(heads) reachable = set() seen = {} @@ -133,7 +134,7 @@ # XXX this should be 'parentset.min()' assuming 'parentset' is a smartset # (and if it is not, it should.) minroot = min(roots) - roots = set(roots) + roots = list(roots) heads = list(heads) try: return repo.changelog.reachableroots(minroot, heads, roots, includepath)