diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -1480,8 +1480,8 @@ def roots(repo, subset, x): """``roots(set)`` Changesets in set with no parent changeset in set. """ - s = getset(repo, baseset(repo.changelog), x).set() - subset = baseset([r for r in subset if r in s]) + s = getset(repo, spanset(repo), x).set() + subset = baseset([r for r in s if r in subset.set()]) cs = _children(repo, subset, s) return subset - cs