localrepo and dirstate: rename reload to invalidate
We want to avoid actually reloading if possible.
--- a/hgext/mq.py Mon Jun 18 13:24:34 2007 -0500
+++ b/hgext/mq.py Mon Jun 18 13:24:34 2007 -0500
@@ -453,8 +453,8 @@
try:
tr.abort()
finally:
- repo.reload()
- repo.wreload()
+ repo.invalidate()
+ repo.dirstate.invalidate()
raise
def _apply(self, tr, repo, series, list=False, update_status=True,
--- a/mercurial/dirstate.py Mon Jun 18 13:24:34 2007 -0500
+++ b/mercurial/dirstate.py Mon Jun 18 13:24:34 2007 -0500
@@ -149,7 +149,7 @@
dmap[f] = e[:4]
pos = newpos
- def reload(self):
+ def invalidate(self):
for a in "map copymap _branch pl dirs _ignore".split():
if hasattr(self, a):
self.__delattr__(a)
@@ -228,7 +228,7 @@
pass
def rebuild(self, parent, files):
- self.reload()
+ self.invalidate()
for f in files:
if files.execf(f):
self.map[f] = ('n', 0777, -1, 0)
--- a/mercurial/localrepo.py Mon Jun 18 13:24:34 2007 -0500
+++ b/mercurial/localrepo.py Mon Jun 18 13:24:34 2007 -0500
@@ -586,7 +586,7 @@
if os.path.exists(self.sjoin("journal")):
self.ui.status(_("rolling back interrupted transaction\n"))
transaction.rollback(self.sopener, self.sjoin("journal"))
- self.reload()
+ self.invalidate()
return True
else:
self.ui.warn(_("no interrupted transaction available\n"))
@@ -601,17 +601,15 @@
self.ui.status(_("rolling back last transaction\n"))
transaction.rollback(self.sopener, self.sjoin("undo"))
util.rename(self.join("undo.dirstate"), self.join("dirstate"))
- self.reload()
- self.wreload()
+ self.invalidate()
+ self.dirstate.invalidate()
else:
self.ui.warn(_("no rollback information available\n"))
- def wreload(self):
- self.dirstate.reload()
-
- def reload(self):
- self.changelog.load()
- self.manifest.load()
+ def invalidate(self):
+ for a in "changelog manifest".split():
+ if hasattr(self, a):
+ self.__delattr__(a)
self.tagscache = None
self.nodetagscache = None
@@ -632,12 +630,13 @@
return l
def lock(self, wait=1):
- return self.do_lock(self.sjoin("lock"), wait, acquirefn=self.reload,
+ return self.do_lock(self.sjoin("lock"), wait,
+ acquirefn=self.invalidate,
desc=_('repository %s') % self.origroot)
def wlock(self, wait=1):
return self.do_lock(self.join("wlock"), wait, self.dirstate.write,
- self.wreload,
+ self.dirstate.invalidate,
desc=_('working directory of %s') % self.origroot)
def filecommit(self, fn, manifest1, manifest2, linkrev, transaction, changelist):
@@ -1932,7 +1931,7 @@
self.ui.status(_('transferred %s in %.1f seconds (%s/sec)\n') %
(util.bytecount(total_bytes), elapsed,
util.bytecount(total_bytes / elapsed)))
- self.reload()
+ self.invalidate()
return len(self.heads()) + 1
def clone(self, remote, heads=[], stream=False):