# HG changeset patch # User Pierre-Yves David # Date 2015-04-03 21:36:05 # Node ID cde57a8d8fe712942b71db02eb764e3c3f4bb3e3 # Parent f76595f6ed7c5147cbaf8ab823b5636d66476de3 repoview: directly skip public head in _getstatichidden Public heads have nothing to offer regarding hidden stuff, let's skip them. diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -38,7 +38,8 @@ def _getstatichidden(repo): if hidden: getphase = repo._phasecache.phase getparentrevs = repo.changelog.parentrevs - heap = [-r for r in repo.changelog.headrevs()] + # Skip heads which are public (guaranteed to not be hidden) + heap = [-r for r in repo.changelog.headrevs() if getphase(repo, r)] heapq.heapify(heap) heappop = heapq.heappop heappush = heapq.heappush