mercurial/localrepo.py
changeset 4272 fe7f38dda34b
parent 4229 24c22a3f2ef8
child 4274 f38f90a177dc
child 4329 cea5ba038a1d
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -288,10 +288,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():
@@ -307,7 +307,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