diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -2186,20 +2186,17 @@ def reposetup(ui, repo): return tagscache - def _branchtags(self): + def _branchtags(self, partial, lrev): q = self.mq if not q.applied: - return super(mqrepo, self)._branchtags() + return super(mqrepo, self)._branchtags(partial, lrev) cl = self.changelog qbasenode = revlog.bin(q.applied[0].rev) if qbasenode not in cl.nodemap: self.ui.warn('mq status file refers to unknown node %s\n' % revlog.short(qbasenode)) - return super(mqrepo, self)._branchtags() - - self.branchcache = {} # avoid recursion in changectx - partial, last, lrev = self._readbranchcache() + return super(mqrepo, self)._branchtags(partial, lrev) qbase = cl.rev(qbasenode) start = lrev + 1 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -345,9 +345,7 @@ class localrepository(repo.repository): self.nodetagscache.setdefault(n, []).append(t) return self.nodetagscache.get(node, []) - def _branchtags(self): - partial, last, lrev = self._readbranchcache() - + def _branchtags(self, partial, lrev): tiprev = self.changelog.count() - 1 if lrev != tiprev: self._updatebranchcache(partial, lrev+1, tiprev+1) @@ -360,7 +358,8 @@ class localrepository(repo.repository): return self.branchcache self.branchcache = {} # avoid recursion in changectx - partial = self._branchtags() + partial, last, lrev = self._readbranchcache() + self._branchtags(partial, lrev) # the branch cache is stored on disk as UTF-8, but in the local # charset internally