mercurial/repoview.py
changeset 32590 c777dac2b27c
parent 32589 306bba74c56e
child 32591 2af0b9a02bf9
--- a/mercurial/repoview.py	Sat May 27 22:43:37 2017 -0700
+++ b/mercurial/repoview.py	Sat May 27 22:55:19 2017 -0700
@@ -44,19 +44,6 @@
         pinned.update(rev(t[0]) for t in tags.values() if t[0] in nodemap)
     return pinned
 
-def _consistencyblocker(pfunc, hideable, revs):
-    """return non-hideable changeset blocking hideable one
-
-    For consistency, we cannot actually hide a changeset if one of it children
-    are visible, this function find such children.
-    """
-    blockers = set()
-    for r in revs:
-        for p in pfunc(r):
-            if p != nullrev and p in hideable:
-                blockers.add(r)
-                break
-    return blockers
 
 def _revealancestors(pfunc, hidden, revs):
     """reveals contiguous chains of hidden ancestors of 'revs' by removing them
@@ -89,16 +76,12 @@
         mutablephases = (phases.draft, phases.secret)
         mutable = repo._phasecache.getrevset(repo, mutablephases)
 
-        visible = mutable - hidden
-        blockers = _consistencyblocker(pfunc, hidden, visible)
-
-        # check if we have wd parents, bookmarks or tags pointing to hidden
-        # changesets and remove those.
-        blockers |= (hidden & pinnedrevs(repo))
-        if blockers:
+        visible = set(mutable - hidden)
+        visible |= (hidden & pinnedrevs(repo))
+        if visible:
             # don't modify possibly cached result of hideablerevs()
             hidden = hidden.copy()
-            _revealancestors(pfunc, hidden, blockers)
+            _revealancestors(pfunc, hidden, visible)
     return frozenset(hidden)
 
 def computeunserved(repo):