--- a/mercurial/obsolete.py Mon Dec 24 12:00:08 2012 +0100
+++ b/mercurial/obsolete.py Fri Jan 04 03:14:54 2013 +0100
@@ -649,12 +649,13 @@
def _computeobsoleteset(repo):
"""the set of obsolete revisions"""
obs = set()
- nm = repo.changelog.nodemap
+ getrev = repo.changelog.nodemap.get
+ getphase = repo._phasecache.phase
for node in repo.obsstore.successors:
- rev = nm.get(node)
- if rev is not None:
+ rev = getrev(node)
+ if rev is not None and getphase(repo, rev):
obs.add(rev)
- return set(repo.revs('%ld - public()', obs))
+ return obs
@cachefor('unstable')
def _computeunstableset(repo):