comparison mercurial/localrepo.py @ 4274:f38f90a177dc

Merge with -stable
author Matt Mackall <mpm@selenic.com>
date Sat, 24 Mar 2007 02:45:08 -0500
parents cd7b36b7869c fe7f38dda34b
children cb6107f78b92
comparison
equal deleted inserted replaced
4271:94bb953b43e5 4274:f38f90a177dc
287 continue 287 continue
288 if bin_n not in self.changelog.nodemap: 288 if bin_n not in self.changelog.nodemap:
289 warn(_("tag '%s' refers to unknown node") % key) 289 warn(_("tag '%s' refers to unknown node") % key)
290 continue 290 continue
291 291
292 h = {} 292 h = []
293 if key in filetags: 293 if key in filetags:
294 n, h = filetags[key] 294 n, h = filetags[key]
295 h[n] = True 295 h.append(n)
296 filetags[key] = (bin_n, h) 296 filetags[key] = (bin_n, h)
297 297
298 for k,nh in filetags.items(): 298 for k,nh in filetags.items():
299 if k not in globaltags: 299 if k not in globaltags:
300 globaltags[k] = nh 300 globaltags[k] = nh
306 an, ah = nh 306 an, ah = nh
307 bn, bh = globaltags[k] 307 bn, bh = globaltags[k]
308 if bn != an and an in bh and \ 308 if bn != an and an in bh and \
309 (bn not in ah or len(bh) > len(ah)): 309 (bn not in ah or len(bh) > len(ah)):
310 an = bn 310 an = bn
311 ah.update(bh) 311 ah.append([n for n in bh if n not in ah])
312 globaltags[k] = an, ah 312 globaltags[k] = an, ah
313 313
314 # read the tags file from each head, ending with the tip 314 # read the tags file from each head, ending with the tip
315 f = None 315 f = None
316 for rev, node, fnode in self._hgtagsnodes(): 316 for rev, node, fnode in self._hgtagsnodes():