# HG changeset patch # User Jun Wu # Date 2017-06-03 02:32:27 # Node ID 2c1400d43fd2988961816fc9ab3679c25f91fe92 # Parent 12941a782928039c075ff67dbf4bbb8078c5f251 obsstore: minor optimization for the obsolete revset Use local variables in a loop. diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -1277,12 +1277,10 @@ def clearobscaches(repo): @cachefor('obsolete') def _computeobsoleteset(repo): """the set of obsolete revisions""" - obs = set() getnode = repo.changelog.node notpublic = repo._phasecache.getrevset(repo, (phases.draft, phases.secret)) - for r in notpublic: - if getnode(r) in repo.obsstore.successors: - obs.add(r) + isobs = repo.obsstore.successors.__contains__ + obs = set(r for r in notpublic if isobs(getnode(r))) return obs @cachefor('unstable')