--- a/mercurial/repoview.py Sun May 21 15:21:46 2017 +0200
+++ b/mercurial/repoview.py Sun May 21 15:35:21 2017 +0200
@@ -224,8 +224,10 @@
# changesets and remove those.
dynamic = hidden & revealedrevs(repo)
if dynamic:
- blocked = cl.ancestors(dynamic, inclusive=True)
- hidden = frozenset(r for r in hidden if r not in blocked)
+ pfunc = cl.parentrevs
+ mutablephases = (phases.draft, phases.secret)
+ mutable = repo._phasecache.getrevset(repo, mutablephases)
+ hidden = hidden - _domainancestors(pfunc, dynamic, mutable)
return hidden
def computeunserved(repo):