hgext/obsolete.py
changeset 386 a3797de26544
parent 385 cdcdedc532b7
child 387 0e87a890d84b
equal deleted inserted replaced
385:cdcdedc532b7 386:a3797de26544
   855                     os.unlink(dst)
   855                     os.unlink(dst)
   856                 # invalidate cache
   856                 # invalidate cache
   857                 self.__dict__.pop('obsstore', None)
   857                 self.__dict__.pop('obsstore', None)
   858             return ret
   858             return ret
   859 
   859 
   860         @storecache('00changelog.i')
       
   861         def changelog(self):
       
   862             # << copy pasted from mercurial source
       
   863             c = changelog.changelog(self.sopener)
       
   864             if 'HG_PENDING' in os.environ:
       
   865                 p = os.environ['HG_PENDING']
       
   866                 if p.startswith(self.root):
       
   867                     c.readpending('00changelog.i.a')
       
   868             # >> end of the copy paste
       
   869             old = c.__dict__.pop('hiddenrevs', ())
       
   870             if old:
       
   871                 ui.warn("old wasn't empty ? %r" % old)
       
   872             def _sethidden(c, value):
       
   873                 assert not value
       
   874 
       
   875 
       
   876             class hchangelog(c.__class__):
       
   877                 @util.propertycache
       
   878                 def hiddenrevs(c):
       
   879                     shown = ['not obsolete()', '.', 'bookmark()', 'tagged()',
       
   880                              'public()']
       
   881                     basicquery = 'obsolete() - (::(%s))' % (' or '.join(shown))
       
   882                     # !!! self is repo not changelog
       
   883                     result = set(scmutil.revrange(self, [basicquery]))
       
   884                     return result
       
   885             c.__class__ = hchangelog
       
   886             return c
       
   887 
       
   888     repo.__class__ = obsoletingrepo
   860     repo.__class__ = obsoletingrepo
   889     for arg in sys.argv:
   861     for arg in sys.argv:
   890         if 'debugc' in arg:
   862         if 'debugc' in arg:
   891             break
   863             break
   892     else:
   864     else: