# HG changeset patch # User Boris Feld # Date 1539904028 -7200 # 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 -r c7618901584d -r 6e2a24550b7e mercurial/obsolete.py --- a/mercurial/obsolete.py Fri Oct 19 00:53:18 2018 +0200 +++ b/mercurial/obsolete.py Fri Oct 19 01:07:08 2018 +0200 @@ -916,11 +916,12 @@ 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):