diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -2406,10 +2406,10 @@ filtering. """ cl = repo.unfiltered().changelog - torev = cl.rev + torev = cl.index.get_rev tonode = cl.node - nodemap = cl.nodemap - result = set(torev(n) for n in f(tonode(r) for r in s) if n in nodemap) + result = set(torev(n) for n in f(tonode(r) for r in s)) + result.discard(None) return smartset.baseset(result - repo.changelog.filteredrevs)