diff -r 89075f106414 -r fe7f38dda34b mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Mar 19 19:07:40 2007 -0300 +++ b/mercurial/localrepo.py Thu Mar 22 23:52:50 2007 -0500 @@ -288,10 +288,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(): @@ -307,7 +307,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