# HG changeset patch # User Matt Mackall # Date 1161229103 18000 # Node ID 3464f5e77f3477ea08cae6180f724cd55832c68a # Parent baa271270829ce7742d5be45a52e3f6fb0e225e2 Minor tags optimization diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -245,14 +245,16 @@ class localrepository(repo.repository): # taking precedence heads = self.heads() heads.reverse() - fl = self.file(".hgtags") + seen = {} for node in heads: f = self.filectx('.hgtags', node) - if not f: continue + if not f or f.filerev() in seen: continue + seen[f.filerev()] = 1 count = 0 for l in f.data().splitlines(): count += 1 parsetag(l, _("%s, line %d") % (str(f), count)) + try: f = self.opener("localtags") count = 0