##// END OF EJS Templates
tags: reverse and simplify head-walking
Matt Mackall -
r8852:a81652fc default
parent child Browse files
Show More
@@ -291,19 +291,18 b' class localrepository(repo.repository):'
291 tagtypes[k] = tagtype
291 tagtypes[k] = tagtype
292
292
293 def tagnodes():
293 def tagnodes():
294 last = {}
294 seen = set()
295 ret = []
295 ret = []
296 for node in reversed(self.heads()):
296 for node in self.heads():
297 c = self[node]
297 c = self[node]
298 try:
298 try:
299 fnode = c.filenode('.hgtags')
299 fnode = c.filenode('.hgtags')
300 except error.LookupError:
300 except error.LookupError:
301 continue
301 continue
302 ret.append((node, fnode))
302 if fnode not in seen:
303 if fnode in last:
303 ret.append((node, fnode))
304 ret[last[fnode]] = None
304 seen.add(fnode)
305 last[fnode] = len(ret) - 1
305 return reversed(ret)
306 return [item for item in ret if item]
307
306
308 # read the tags file from each head, ending with the tip
307 # read the tags file from each head, ending with the tip
309 f = None
308 f = None
General Comments 0
You need to be logged in to leave comments. Login now