equal
deleted
inserted
replaced
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(): |