repoview: use the phasecache directly to determine mutable revisions
authorJoerg Sonnenberger <joerg@bec.de>
Sun, 28 Jun 2020 01:08:13 +0200
changeset 45115 672ad1f6eeb8
parent 45114 e2d17974a869
child 45116 361a7444bc41
repoview: use the phasecache directly to determine mutable revisions This speeds up no-change updates from 1.3s to 0.85s for my NetBSD test repository. Differential Revision: https://phab.mercurial-scm.org/D8670
mercurial/repoview.py
--- a/mercurial/repoview.py	Tue Jul 07 21:45:10 2020 +0200
+++ b/mercurial/repoview.py	Sun Jun 28 01:08:13 2020 +0200
@@ -130,9 +130,7 @@
     assert not repo.changelog.filteredrevs
     # fast check to avoid revset call on huge repo
     if repo._phasecache.hasnonpublicphases(repo):
-        getphase = repo._phasecache.phase
-        maymutable = filterrevs(repo, b'base')
-        return frozenset(r for r in maymutable if getphase(repo, r))
+        return frozenset(repo._phasecache.getrevset(repo, phases.mutablephases))
     return frozenset()