diff -r c9a3f7f5c023 -r 5b9f116104f9 mercurial/phases.py --- a/mercurial/phases.py Fri Aug 24 10:19:31 2018 -0700 +++ b/mercurial/phases.py Fri Aug 24 12:55:05 2018 -0700 @@ -673,13 +673,11 @@ rev = cl.nodemap.get if not roots: return heads - if not heads or heads == [nullrev]: + if not heads or heads == [nullid]: return [] # The logic operated on revisions, convert arguments early for convenience new_heads = set(rev(n) for n in heads if n != nullid) roots = [rev(n) for n in roots] - if not heads or not roots: - return heads # compute the area we need to remove affected_zone = repo.revs("(%ld::%ld)", roots, new_heads) # heads in the area are no longer heads