changeset 32589:306bba74c56e

hidden: pass revs to iterate into _consistencyblockers() Instead of passing the domain into _consistencyblockers() and having the function calculate the set of revisions to iterate over, let the caller do it. This is just a minor refactoring to make future changes simpler.
author Martin von Zweigbergk <martinvonz@google.com>
date Sat, 27 May 2017 22:43:37 -0700
parents d964959cbf66
children c777dac2b27c
files mercurial/repoview.py
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/repoview.py	Sat May 27 22:10:20 2017 -0700
+++ b/mercurial/repoview.py	Sat May 27 22:43:37 2017 -0700
@@ -44,15 +44,14 @@
         pinned.update(rev(t[0]) for t in tags.values() if t[0] in nodemap)
     return pinned
 
-def _consistencyblocker(pfunc, hideable, domain):
+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.
     """
-    others = domain - hideable
     blockers = set()
-    for r in others:
+    for r in revs:
         for p in pfunc(r):
             if p != nullrev and p in hideable:
                 blockers.add(r)
@@ -90,7 +89,8 @@
         mutablephases = (phases.draft, phases.secret)
         mutable = repo._phasecache.getrevset(repo, mutablephases)
 
-        blockers = _consistencyblocker(pfunc, hidden, mutable)
+        visible = mutable - hidden
+        blockers = _consistencyblocker(pfunc, hidden, visible)
 
         # check if we have wd parents, bookmarks or tags pointing to hidden
         # changesets and remove those.