[PATCH 11 of 12] rollback: invalidate dirstate through the filecache

Idan Kamara idankk86 at gmail.com
Mon Dec 17 09:35:36 CST 2012


# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1355568420 -7200
# Branch stable
# Node ID dfe35839906aaf57d18eeebfc529425de7c0ac85
# Parent  9157ffe3d66d41bb7ea3cfa062d775a87731206a
rollback: invalidate dirstate through the filecache

There's no reason to use invalidate on the dirstate instance since .hg/dirstate
was just replaced and the filecache will spot this and reload it.

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1009,6 +1009,7 @@
                       parents[1] not in self.changelog.nodemap)
         if parentgone:
             util.rename(self.join('undo.dirstate'), self.join('dirstate'))
+            self.invalidatedirstate()
             try:
                 branch = self.opener.read('undo.branch')
                 self.dirstate.setbranch(encoding.tolocal(branch))
@@ -1017,7 +1018,6 @@
                           'current branch is still \'%s\'\n')
                         % self.dirstate.branch())
 
-            self.dirstate.invalidate()
             parents = tuple([p.rev() for p in self.parents()])
             if len(parents) > 1:
                 ui.status(_('working directory now based on '


More information about the Mercurial-devel mailing list