diff -r 607e2a2501e6 -r e4b270a32ba8 mercurial/revset.py --- a/mercurial/revset.py Tue Jul 10 23:01:53 2018 +0900 +++ b/mercurial/revset.py Thu Jul 12 23:07:29 2018 +0900 @@ -632,7 +632,10 @@ """ # only wants the heads of the set passed in - for r in heads(repo, fullreposet(repo), x, anyorder): + h = heads(repo, fullreposet(repo), x, anyorder) + if not h: + return baseset() + for r in h: subset &= dagop.revancestors(repo, baseset([r])) return subset