# HG changeset patch # User Martin von Zweigbergk # Date 1495950217 25200 # Node ID 306bba74c56eb9f71a794a8e3d1cbb047515d187 # Parent d964959cbf66ba05431fcbf3e08842283202e176 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. diff -r d964959cbf66 -r 306bba74c56e mercurial/repoview.py --- 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.