# HG changeset patch # User Yuya Nishihara # Date 1573824175 -32400 # Node ID 32048206e7beb7ed6c239952dfa46f5895b5e020 # Parent 303bf312d5edfab57ee03dd7f645b44d105b8bd3# Parent 856cce0c255cc6ffbe164764cc152e3011c59fd7 merge with stable diff -r 303bf312d5ed -r 32048206e7be hgext/highlight/highlight.py --- a/hgext/highlight/highlight.py Thu Nov 14 20:40:54 2019 -0800 +++ b/hgext/highlight/highlight.py Fri Nov 15 22:22:55 2019 +0900 @@ -57,7 +57,7 @@ return # str.splitlines() != unicode.splitlines() because "reasons" - for c in b"\x0c\x1c\x1d\x1e": + for c in b"\x0c", b"\x1c", b"\x1d", b"\x1e": if c in text: text = text.replace(c, b'') diff -r 303bf312d5ed -r 32048206e7be mercurial/exchange.py --- a/mercurial/exchange.py Thu Nov 14 20:40:54 2019 -0800 +++ b/mercurial/exchange.py Fri Nov 15 22:22:55 2019 +0900 @@ -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) diff -r 303bf312d5ed -r 32048206e7be mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Nov 14 20:40:54 2019 -0800 +++ b/mercurial/localrepo.py Fri Nov 15 22:22:55 2019 +0900 @@ -1568,7 +1568,7 @@ else: raise error.ProgrammingError( b"unsupported changeid '%s' of type %s" - % (changeid, type(changeid)) + % (changeid, pycompat.sysstr(type(changeid))) ) return context.changectx(self, rev, node) diff -r 303bf312d5ed -r 32048206e7be mercurial/obsutil.py --- a/mercurial/obsutil.py Thu Nov 14 20:40:54 2019 -0800 +++ b/mercurial/obsutil.py Fri Nov 15 22:22:55 2019 +0900 @@ -112,6 +112,11 @@ yield marker(repo, markerdata) +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 closestpredecessors(repo, nodeid): """yield the list of next predecessors pointing on visible changectx nodes @@ -675,7 +680,7 @@ # Having none means pruned node, multiple successors means split, # single successors are standard replacement. # - for mark in sorted(succmarkers[current]): + for mark in sortedmarkers(succmarkers[current]): for suc in mark[1]: if suc not in cache: if suc in stackedset: @@ -712,7 +717,7 @@ # duplicated entry and successors set that are strict subset of # another one. succssets = [] - for mark in sorted(succmarkers[current]): + for mark in sortedmarkers(succmarkers[current]): # successors sets contributed by this marker base = _succs() base.markers.add(mark) diff -r 303bf312d5ed -r 32048206e7be relnotes/5.2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/relnotes/5.2 Fri Nov 15 22:22:55 2019 +0900 @@ -0,0 +1,30 @@ +== New Features == + + * The amend extension supports the `--currentuser` argument. + + * The amend extension supports the `--close-branch` argument. + + * The amend extension supports the `--secret` argument. + + * The uncommit extension supports the `rewrite.update-timestamp` config option. + +== New Experimental Features == + + +== Bug Fixes == + + +== Backwards Compatibility Changes == + + * A shell that supports `$(command)`` syntax for command substitution is now + required for running the test suite. The test runner normally uses + `sh`, so if that is a shell that doesn't support `$(command)` syntax, + you can override it by setting `$HGTEST_SHELL` or by passing it to + `run-tests.py --shell `. + + * The (experimental) narrow extension's wire protocol changed. If + you're using it, you'll need to make sure to upgrade server and + client at the same time. + +== Internal API Changes == + diff -r 303bf312d5ed -r 32048206e7be relnotes/next --- a/relnotes/next Thu Nov 14 20:40:54 2019 -0800 +++ b/relnotes/next Fri Nov 15 22:22:55 2019 +0900 @@ -1,12 +1,5 @@ == New Features == - * The amend extension supports the `--currentuser` argument. - - * The amend extension supports the `--close-branch` argument. - - * The amend extension supports the `--secret` argument. - - * The uncommit extension supports the `rewrite.update-timestamp` config option. == New Experimental Features == @@ -16,15 +9,6 @@ == Backwards Compatibility Changes == - * A shell that supports `$(command)`` syntax for command substitution is now - required for running the test suite. The test runner normally uses - `sh`, so if that is a shell that doesn't support `$(command)` syntax, - you can override it by setting `$HGTEST_SHELL` or by passing it to - `run-tests.py --shell `. - - * The (experimental) narrow extension's wire protocol changed. If - you're using it, you'll need to make sure to upgrade server and - client at the same time. == Internal API Changes ==