diff -r be0f77fd274d -r e513e87b0476 mercurial/exchange.py --- a/mercurial/exchange.py Wed Nov 06 16:54:34 2019 +0100 +++ b/mercurial/exchange.py Sat Nov 09 10:31:58 2019 +0100 @@ -28,6 +28,7 @@ logexchange, narrowspec, obsolete, + obsutil, phases, pushkey, pycompat, @@ -99,11 +100,6 @@ contentopts = attr.ib() -def _sortedmarkers(markers): - # last item of marker tuple ('parents') may be None or a tuple - return sorted(markers, key=lambda m: m[:-1] + (m[-1] or (),)) - - def parsebundlespec(repo, spec, strict=True): """Parse a bundle string specification into parts. @@ -1140,7 +1136,7 @@ return pushop.stepsdone.add(b'obsmarkers') if pushop.outobsmarkers: - markers = _sortedmarkers(pushop.outobsmarkers) + markers = obsutil.sortedmarkers(pushop.outobsmarkers) bundle2.buildobsmarkerspart(bundler, markers) @@ -1475,7 +1471,7 @@ if pushop.outobsmarkers: pushop.ui.debug(b'try to push obsolete markers to remote\n') rslts = [] - markers = _sortedmarkers(pushop.outobsmarkers) + markers = obsutil.sortedmarkers(pushop.outobsmarkers) remotedata = obsolete._pushkeyescape(markers) for key in sorted(remotedata, reverse=True): # reverse sort to ensure we end with dump0 @@ -2573,7 +2569,7 @@ heads = repo.heads() subset = [c.node() for c in repo.set(b'::%ln', heads)] markers = repo.obsstore.relevantmarkers(subset) - markers = _sortedmarkers(markers) + markers = obsutil.sortedmarkers(markers) bundle2.buildobsmarkerspart(bundler, markers)