diff -r 94bb953b43e5 -r f38f90a177dc mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Mar 23 01:04:21 2007 -0500 +++ b/mercurial/localrepo.py Sat Mar 24 02:45:08 2007 -0500 @@ -289,10 +289,10 @@ 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 @@ 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