hgext3rd/evolve/obshistory.py
changeset 5172 52301aff269e
parent 5171 7f7f40cc6c9b
child 5173 dbbb48d93f18
equal deleted inserted replaced
5171:7f7f40cc6c9b 5172:52301aff269e
   178             if self.filter is False:
   178             if self.filter is False:
   179                 succs = self.repo.obsstore.successors.get(changenode, ())
   179                 succs = self.repo.obsstore.successors.get(changenode, ())
   180                 succs = sorted(succs)
   180                 succs = sorted(succs)
   181 
   181 
   182                 for successor in succs:
   182                 for successor in succs:
   183                     _debugobshistorydisplaymarker(self.ui, markerfm, successor,
   183                     _debugobshistorydisplaymarker(self.ui, markerfm,
       
   184                                                   successor[1], [successor],
   184                                                   ctx.node(), self.repo,
   185                                                   ctx.node(), self.repo,
   185                                                   self._includediff)
   186                                                   self._includediff)
   186 
   187 
   187             else:
   188             else:
   188                 r = obsutil.successorsandmarkers(self.repo, ctx)
   189                 r = obsutil.successorsandmarkers(self.repo, ctx)
   456         succs = successors.get(ctxnode, ())
   457         succs = successors.get(ctxnode, ())
   457 
   458 
   458         markerfm = fm.nested(b"markers")
   459         markerfm = fm.nested(b"markers")
   459         for successor in sorted(succs):
   460         for successor in sorted(succs):
   460             includediff = opts and opts.get("patch")
   461             includediff = opts and opts.get("patch")
   461             _debugobshistorydisplaymarker(ui, markerfm, successor, ctxnode, unfi, includediff)
   462             _debugobshistorydisplaymarker(ui, markerfm, successor[1], [successor], ctxnode, unfi, includediff)
   462         markerfm.end()
   463         markerfm.end()
   463         fm.plain(b'\n')
   464         fm.plain(b'\n')
   464 
   465 
   465         precs = precursors.get(ctxnode, ())
   466         precs = precursors.get(ctxnode, ())
   466         for p in sorted(precs):
   467         for p in sorted(precs):
   499     fm.data(node=nodemod.hex(nodewithoutctx))
   500     fm.data(node=nodemod.hex(nodewithoutctx))
   500     fm.plain(nodemod.short(nodewithoutctx),
   501     fm.plain(nodemod.short(nodewithoutctx),
   501              label=b"evolve.node evolve.missing_change_ctx")
   502              label=b"evolve.node evolve.missing_change_ctx")
   502     fm.plain(b'\n')
   503     fm.plain(b'\n')
   503 
   504 
   504 def _debugobshistorydisplaymarker(ui, fm, marker, node, repo, includediff=False):
   505 def _debugobshistorydisplaymarker(ui, fm, succnodes, markers, node, repo, includediff=False):
   505     succnodes = marker[1]
       
   506 
       
   507     fm.startitem()
   506     fm.startitem()
   508 
   507 
   509     verb = _successorsetverb(succnodes, [marker])[b"verb"]
   508     verb = _successorsetverb(succnodes, markers)[b"verb"]
   510 
   509 
   511     fm.data(verb=verb)
   510     fm.data(verb=verb)
   512 
   511 
   513     effects = _markerseffects([marker])
   512     effects = _markerseffects(markers)
   514     if effects:
   513     if effects:
   515         fmteffects = fm.formatlist(effects, b'effect', sep=b', ')
   514         fmteffects = fm.formatlist(effects, b'effect', sep=b', ')
   516         fm.data(effects=fmteffects)
   515         fm.data(effects=fmteffects)
   517 
   516 
   518     if len(succnodes) > 0:
   517     if len(succnodes) > 0:
   519         hexnodes = (nodemod.hex(succnode) for succnode in sorted(succnodes))
   518         hexnodes = (nodemod.hex(succnode) for succnode in sorted(succnodes))
   520         nodes = fm.formatlist(hexnodes, b'succnode')
   519         nodes = fm.formatlist(hexnodes, b'succnode')
   521         fm.data(succnodes=nodes)
   520         fm.data(succnodes=nodes)
   522 
   521 
   523     # Operations
   522     # Operations
   524     operations = obsutil.markersoperations([marker])
   523     operations = obsutil.markersoperations(markers)
   525     if operations:
   524     if operations:
   526         fm.data(operations=fm.formatlist(operations, name=b'operation', sep=b', '))
   525         fm.data(operations=fm.formatlist(operations, name=b'operation', sep=b', '))
   527 
   526 
   528     # Users
   527     # Users
   529     users = obsutil.markersusers([marker])
   528     users = obsutil.markersusers(markers)
   530     fm.data(users=fm.formatlist(users, name=b'user', sep=b', '))
   529     fm.data(users=fm.formatlist(users, name=b'user', sep=b', '))
   531 
   530 
   532     # Dates
   531     # Dates
   533     dates = obsutil.markersdates([marker])
   532     dates = obsutil.markersdates(markers)
   534     fm.data(dates=fm.formatlist(dates, name=b'date'))
   533     fm.data(dates=fm.formatlist(dates, name=b'date'))
   535 
   534 
   536     # Notes
   535     # Notes
   537     notes = _markersnotes([marker])
   536     notes = _markersnotes(markers)
   538     if notes:
   537     if notes:
   539         fm.data(notes=fm.formatlist(notes, name=b'note', sep=b'\n'))
   538         fm.data(notes=fm.formatlist(notes, name=b'note', sep=b'\n'))
   540 
   539 
   541     # Patch display
   540     # Patch display
   542     if includediff is True:
   541     if includediff is True:
   543         _patchavailable = patchavailable(node, repo, marker[1])
   542         _patchavailable = patchavailable(node, repo, succnodes)
   544 
   543 
   545         if _patchavailable[0] is True:
   544         if _patchavailable[0] is True:
   546             succ = _patchavailable[1]
   545             succ = _patchavailable[1]
   547 
   546 
   548             basectx = repo[node]
   547             basectx = repo[node]