hgext3rd/topic/stack.py
changeset 3084 144989dabe93
parent 3061 6f87042766cb
child 3085 3eca2cbdc498
equal deleted inserted replaced
3083:e91ca8b5ecf7 3084:144989dabe93
   273         prev = r
   273         prev = r
   274 
   274 
   275     # super crude initial version
   275     # super crude initial version
   276     for idx, isentry, ctx in entries[::-1]:
   276     for idx, isentry, ctx in entries[::-1]:
   277 
   277 
       
   278         symbol = None
   278         states = []
   279         states = []
   279         iscurrentrevision = repo.revs('%d and parents()', ctx.rev())
   280         iscurrentrevision = repo.revs('%d and parents()', ctx.rev())
       
   281 
       
   282         if iscurrentrevision:
       
   283             states.append('current')
       
   284             symbol = '@'
       
   285 
       
   286         if ctx.orphan():
       
   287             symbol = '$'
       
   288             states.append('unstable')
   280 
   289 
   281         if not isentry:
   290         if not isentry:
   282             symbol = '^'
   291             symbol = '^'
   283             # "base" is kind of a "ghost" entry
   292             # "base" is kind of a "ghost" entry
   284             # skip other label for them (no current, no unstable)
   293             states.append('base')
   285             states = ['base']
   294 
   286         elif ctx.orphan():
   295         # none of the above if statments get executed
   287             # current revision can be unstable also, so in that case show both
   296         if not symbol:
   288             # the states and the symbol '@' (issue5553)
       
   289             if iscurrentrevision:
       
   290                 states.append('current')
       
   291                 symbol = '@'
       
   292             symbol = '$'
       
   293             states.append('unstable')
       
   294         elif iscurrentrevision:
       
   295             states.append('current')
       
   296             symbol = '@'
       
   297         else:
       
   298             symbol = ':'
   297             symbol = ':'
   299             states.append('clean')
   298             states.append('clean')
   300         fm.startitem()
   299         fm.startitem()
   301         fm.data(isentry=isentry)
   300         fm.data(isentry=isentry)
   302 
   301