[PATCH 1 of 2] obsolete: fix context.obsolete() method

pierre-yves.david at logilab.fr pierre-yves.david at logilab.fr
Wed Jul 4 10:30:07 CDT 2012


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1341415611 -7200
# Node ID 698460412a4f7ee7fefe452ce885e4c307960223
# Parent  1c55d1add24f658464d7db78bc877beca00fa735
obsolete: fix context.obsolete() method

- obsstore attribut name changed.
- public changeset can't be obsolete

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -230,11 +230,12 @@ class changectx(object):
         for d in self._repo.changelog.descendants([self._rev]):
             yield changectx(self._repo, d)
 
     def obsolete(self):
         """True if the changeset is obsolete"""
-        return self.node() in self._repo.obsstore.obsoleted
+        return (self.node() in self._repo.obsstore.precursors
+                and self.phase() > phases.public)
 
     def _fileinfo(self, path):
         if '_manifest' in self.__dict__:
             try:
                 return self._manifest[path], self._manifest.flags(path)


More information about the Mercurial-devel mailing list