mercurial/localrepo.py
changeset 4274 f38f90a177dc
parent 4270 cd7b36b7869c
parent 4272 fe7f38dda34b
child 4276 cb6107f78b92
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -289,10 +289,10 @@ class localrepository(repo.repository):
                     warn(_("tag '%s' refers to unknown node") % key)
                     continue
 
-                h = {}
+                h = []
                 if key in filetags:
                     n, h = filetags[key]
-                    h[n] = True
+                    h.append(n)
                 filetags[key] = (bin_n, h)
 
             for k,nh in filetags.items():
@@ -308,7 +308,7 @@ class localrepository(repo.repository):
                 if bn != an and an in bh and \
                    (bn not in ah or len(bh) > len(ah)):
                     an = bn
-                ah.update(bh)
+                ah.append([n for n in bh if n not in ah])
                 globaltags[k] = an, ah
 
         # read the tags file from each head, ending with the tip