620 else: |
620 else: |
621 self.ui.warn(_("no rollback information available\n")) |
621 self.ui.warn(_("no rollback information available\n")) |
622 finally: |
622 finally: |
623 release(lock, wlock) |
623 release(lock, wlock) |
624 |
624 |
625 def invalidate(self): |
625 def invalidatecaches(self): |
626 for a in "changelog manifest".split(): |
|
627 if a in self.__dict__: |
|
628 delattr(self, a) |
|
629 self._tags = None |
626 self._tags = None |
630 self._tagtypes = None |
627 self._tagtypes = None |
631 self.nodetagscache = None |
628 self.nodetagscache = None |
632 self._branchcache = None # in UTF-8 |
629 self._branchcache = None # in UTF-8 |
633 self._branchcachetip = None |
630 self._branchcachetip = None |
|
631 |
|
632 def invalidate(self): |
|
633 for a in "changelog manifest".split(): |
|
634 if a in self.__dict__: |
|
635 delattr(self, a) |
|
636 self.invalidatecaches() |
634 |
637 |
635 def _lock(self, lockname, wait, releasefn, acquirefn, desc): |
638 def _lock(self, lockname, wait, releasefn, acquirefn, desc): |
636 try: |
639 try: |
637 l = lock.lock(lockname, 0, releasefn, desc=desc) |
640 l = lock.lock(lockname, 0, releasefn, desc=desc) |
638 except error.LockHeld, inst: |
641 except error.LockHeld, inst: |
955 |
958 |
956 # XXX this is suboptimal when qrefresh'ing: we strip the current |
959 # XXX this is suboptimal when qrefresh'ing: we strip the current |
957 # head, refresh the tag cache, then immediately add a new head. |
960 # head, refresh the tag cache, then immediately add a new head. |
958 # But I think doing it this way is necessary for the "instant |
961 # But I think doing it this way is necessary for the "instant |
959 # tag cache retrieval" case to work. |
962 # tag cache retrieval" case to work. |
960 tags_.findglobaltags(self.ui, self, {}, {}) |
963 self.invalidatecaches() |
961 |
964 |
962 def walk(self, match, node=None): |
965 def walk(self, match, node=None): |
963 ''' |
966 ''' |
964 walk recursively through the directory tree or a given |
967 walk recursively through the directory tree or a given |
965 changeset, finding all files matched by the match |
968 changeset, finding all files matched by the match |