diff -r 34e10e09afa5 -r e278d6d2d7d2 mercurial/obsutil.py --- a/mercurial/obsutil.py Mon Jul 03 03:27:58 2017 +0200 +++ b/mercurial/obsutil.py Thu Aug 17 18:26:11 2017 +0200 @@ -567,3 +567,18 @@ final.reverse() # put small successors set first cache[current] = final return cache[initialnode] + +def successorsandmarkers(repo, ctx): + """compute the raw data needed for computing obsfate + Returns a list of dict, one dict per successors set + """ + if not ctx.obsolete(): + return None + + ssets = successorssets(repo, ctx.node(), closest=True) + + values = [] + for sset in ssets: + values.append({'successors': sset, 'markers': sset.markers}) + + return values