# HG changeset patch # User Anton Shestakov # Date 1588168679 -28800 # Node ID 883df7f06f2efcd99faf893952275046b86d8022 # Parent e8660b28bfeee80362c91295e14eb52140920dc4 obshistory: create _fatemarkers() similar to _originmarkers() diff -r e8660b28bfee -r 883df7f06f2e hgext3rd/evolve/obshistory.py --- a/hgext3rd/evolve/obshistory.py Thu May 07 01:29:48 2020 +0200 +++ b/hgext3rd/evolve/obshistory.py Wed Apr 29 21:57:59 2020 +0800 @@ -213,6 +213,20 @@ if not marker[1]: yield ((), (marker,)) +def _fatemarkers(repo, ctx, filternonlocal): + successors = repo.obsstore.successors + if filternonlocal: + r = obsutil.successorsandmarkers(repo, ctx) + if r is None: + r = [] + for succset in sorted(r): + if succset[b'markers']: + yield (succset[b'successors'], succset[b'markers']) + else: + markers = successors.get(ctx.node(), ()) + for marker in sorted(markers): + yield (marker[1], [marker]) + def _nodesandmarkers(repo, ctx, filternonlocal, origin): """ Return data for obslog and obsolescence-related template keywords. @@ -227,17 +241,8 @@ for (nodes, markers) in _originmarkers(repo, ctx, filternonlocal): yield (nodes, markers) else: - if filternonlocal: - r = obsutil.successorsandmarkers(repo, ctx) - if r is None: - r = [] - for succset in sorted(r): - if succset[b'markers']: - yield (succset[b'successors'], succset[b'markers']) - else: - markers = repo.obsstore.successors.get(ctx.node(), ()) - for marker in sorted(markers): - yield (marker[1], [marker]) + for (nodes, markers) in _fatemarkers(repo, ctx, filternonlocal): + yield (nodes, markers) class obsmarker_printer(logcmdutil.changesetprinter): """show (available) information about a node