Minor tags optimization
authorMatt Mackall <mpm@selenic.com>
Wed, 18 Oct 2006 22:38:23 -0500
changeset 3456 3464f5e77f34
parent 3455 baa271270829
child 3457 ff06fe0703ef
Minor tags optimization
mercurial/localrepo.py
--- a/mercurial/localrepo.py	Wed Oct 18 14:14:59 2006 -0500
+++ b/mercurial/localrepo.py	Wed Oct 18 22:38:23 2006 -0500
@@ -245,14 +245,16 @@
             # 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