merge with stable
authorYuya Nishihara <yuya@tcha.org>
Fri, 15 Nov 2019 22:22:55 +0900
changeset 43705 32048206e7be
parent 43704 303bf312d5ed (current diff)
parent 43429 856cce0c255c (diff)
child 43706 4323a32c7afe
merge with stable
mercurial/exchange.py
mercurial/localrepo.py
mercurial/obsutil.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'')
 
--- 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)
 
 
--- 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)
--- 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)
--- /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 <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 ==
+
--- 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 <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 ==