# HG changeset patch # User Boris Feld # Date 2018-10-18 23:07:08 # Node ID 6e2a24550b7e07891bba141c5091a5ec0df09f2e # Parent c7618901584db5c477199c95793b7d5b8edd5dbc obsolete: prefetch the repo.obsstore used in phasedivergence loop The speedup is probably quite negligible, but it cannot hurt. diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -916,11 +916,12 @@ def _computephasedivergentset(repo): cl = repo.changelog torev = cl.nodemap.get tonode = cl.node + obsstore = repo.obsstore for rev in repo.revs('(not public()) and (not obsolete())'): # We only evaluate mutable, non-obsolete revision node = tonode(rev) # (future) A cache of predecessors may worth if split is very common - for pnode in obsutil.allpredecessors(repo.obsstore, [node], + for pnode in obsutil.allpredecessors(obsstore, [node], ignoreflags=bumpedfix): prev = torev(pnode) # unfiltered! but so is phasecache if (prev is not None) and (phase(repo, prev) <= public):