# HG changeset patch # User Pierre-Yves David # Date 1346675705 -7200 # 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 -r 5210e5a556d9 -r 21c503480986 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Sep 03 14:34:19 2012 +0200 +++ b/mercurial/localrepo.py Mon Sep 03 14:35:05 2012 +0200 @@ -516,7 +516,11 @@ 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)