# HG changeset patch # User Pierre-Yves David # Date 2012-09-03 12:35:05 # Node ID 21c5034809865e844e6905e5159ef1dc1da897c0 # Parent 5210e5a556d9c8e304b9f8af9f631930ac509bb9 clfilter: do not use tags cache if there are filtered changesets If there are filtered changesets the cache is not valid. We'll have to cache tags for filtered state too, but for now recomputing the tags is enough. diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -516,7 +516,11 @@ class localrepository(object): def tags(self): '''return a mapping of tag to node''' t = {} - for k, v in self._tagscache.tags.iteritems(): + if self.changelog.filteredrevs: + tags, tt = self._findtags() + else: + tags = self._tagscache.tags + for k, v in tags.iteritems(): try: # ignore tags to unknown nodes self.changelog.rev(v)