# HG changeset patch # User Greg Ward # Date 1247755181 14400 # Node ID 09a1ee4987568e734eef3f2e0f20bc6d6d021f76 # Parent abb7d4d43a5fdef39cdaf23669745670ec290997 localrepo: add destroyed() method for strip/rollback to use (issue548). diff -r abb7d4d43a5f -r 09a1ee498756 mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Jul 16 10:39:41 2009 -0400 +++ b/mercurial/localrepo.py Thu Jul 16 10:39:41 2009 -0400 @@ -612,6 +612,7 @@ % encoding.tolocal(self.dirstate.branch())) self.invalidate() self.dirstate.invalidate() + self.destroyed() else: self.ui.warn(_("no rollback information available\n")) finally: @@ -910,6 +911,16 @@ del tr lock.release() + def destroyed(self): + '''Inform the repository that nodes have been destroyed. + Intended for use by strip and rollback, so there's a common + place for anything that has to be done after destroying history.''' + # Do nothing for now: this is a placeholder that will be used + # when we add tag caching. + # XXX it might be nice if we could take the list of destroyed + # nodes, but I don't see an easy way for rollback() to do that + pass + def walk(self, match, node=None): ''' walk recursively through the directory tree or a given diff -r abb7d4d43a5f -r 09a1ee498756 mercurial/repair.py --- a/mercurial/repair.py Thu Jul 16 10:39:41 2009 -0400 +++ b/mercurial/repair.py Thu Jul 16 10:39:41 2009 -0400 @@ -142,3 +142,4 @@ if backup != "strip": os.unlink(chgrpfile) + repo.destroyed()