merge with stable
authorAugie Fackler <augie@google.com>
Mon, 07 Jan 2019 19:03:23 -0500
changeset 41129 074c72a38423
parent 41126 d8f5c615e811 (current diff)
parent 41128 f467c353298c (diff)
child 41130 d43719bd01f0
merge with stable
mercurial/cext/revlog.c
mercurial/commands.py
mercurial/hgweb/server.py
mercurial/match.py
mercurial/templatekw.py
--- a/.hgsigs	Mon Jan 07 15:25:41 2019 -0800
+++ b/.hgsigs	Mon Jan 07 19:03:23 2019 -0500
@@ -173,3 +173,4 @@
 956ec6f1320df26f3133ec40f3de866ea0695fd7 0 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
+197f092b2cd9691e2a55d198f717b231af9be6f9 0 iQJEBAABCAAuFiEEK8zhT1xnJaouqK63ucncgkqlvdUFAlwz6DUQHHJhZkBkdXJpbjQyLmNvbQAKCRC5ydyCSqW91SbtD/47TJkSFuDJrvrpLuZROeR48opM8kPtMdbFKZxmeUtap/1q1ahBcA8cnkf5t5iEna57OkPfx0FVw7zupFZSD970q8KeQa1C1oRf+DV83rkOqMEzTLmDYZ5YWWILyDb2NrSkBzArhLNhEtWrFFo9uoigwJWiyNGXUkjVd7XUaYvxVYvnHJcmr98l9sW+RxgV2Cm/6ImeW6BkSUjfrJpZlHUecxcHIaDVniSCVzVF7T+tgG0+CxpehmRrPE/qlPTY2DVHuG6ogwjmu7pWr4kW3M6pTmOYICKjkojIhPTAfNDZGNYruJMukEeB2JyxSz+J9jhjPe//9x4JznpCzm/JzCHFO9CfONjHIcUqLa9qxqhmBFpr1U5J7vRir4ch7v8TGtGbcR3833HTUA7EEMu/Ca48XVfGNDmySQs8zgGpj1yzf/lBGbiAzTSp7Zp+ANLu+R3NjeiDUYQbgf3vcpoHL44duk4dzhD+ofFD75PF1SMTluWbeLCSENH9io2pxVDj3I5VhlNxHdbqY1WXb+sDBVr4niIGzQiKqVOV33ghyRpzVJFZ7SaQG7VR/mLL3UnvJuapLYtUV9+/7Si/CHl7m8NntPMvx1nM/Z4t/BN8Z5cdhPn2PLxp9f5VCmCqLlCQDSv94cCTLlatiCTfF7axgE0u7+CWiOUNyyqg/vu0pjTwIA==
--- a/.hgtags	Mon Jan 07 15:25:41 2019 -0800
+++ b/.hgtags	Mon Jan 07 19:03:23 2019 -0500
@@ -186,3 +186,4 @@
 956ec6f1320df26f3133ec40f3de866ea0695fd7 4.8rc0
 a91a2837150bdcb27ae76b3646e6c93cd6a15904 4.8
 1c8c54cf97256f4468da2eb4dbee24f7f3888e71 4.8.1
+197f092b2cd9691e2a55d198f717b231af9be6f9 4.8.2
--- a/mercurial/cext/revlog.c	Mon Jan 07 15:25:41 2019 -0800
+++ b/mercurial/cext/revlog.c	Mon Jan 07 19:03:23 2019 -0500
@@ -992,6 +992,13 @@
 		    rev, result);
 		return -2;
 	}
+	if (result < -1) {
+		PyErr_Format(
+		    PyExc_ValueError,
+		    "corrupted revlog, revision base out of range: %d, %d",
+		    rev, result);
+		return -2;
+	}
 	return result;
 }
 
--- a/mercurial/commands.py	Mon Jan 07 15:25:41 2019 -0800
+++ b/mercurial/commands.py	Mon Jan 07 19:03:23 2019 -0500
@@ -6098,7 +6098,7 @@
         brev = rev
         if rev:
             repo = scmutil.unhidehashlikerevs(repo, [rev], 'nowarn')
-        ctx = scmutil.revsingle(repo, rev, rev)
+        ctx = scmutil.revsingle(repo, rev, default=None)
         rev = ctx.rev()
         hidden = ctx.hidden()
         overrides = {('ui', 'forcemerge'): opts.get(r'tool', '')}
--- a/mercurial/hgweb/server.py	Mon Jan 07 15:25:41 2019 -0800
+++ b/mercurial/hgweb/server.py	Mon Jan 07 19:03:23 2019 -0500
@@ -127,6 +127,13 @@
             and not path.startswith(self.server.prefix + b'/')):
             self._start_response(pycompat.strurl(common.statusmessage(404)),
                                  [])
+            if self.command == 'POST':
+                # Paranoia: tell the client we're going to close the
+                # socket so they don't try and reuse a socket that
+                # might have a POST body waiting to confuse us. We do
+                # this by directly munging self.saved_headers because
+                # self._start_response ignores Connection headers.
+                self.saved_headers = [(r'Connection', r'Close')]
             self._write(b"Not Found")
             self._done()
             return
--- a/mercurial/match.py	Mon Jan 07 15:25:41 2019 -0800
+++ b/mercurial/match.py	Mon Jan 07 19:03:23 2019 -0500
@@ -48,7 +48,7 @@
 
     for kind, pat, source in kindpats:
         if kind == 'set':
-            if not ctx:
+            if ctx is None:
                 raise error.ProgrammingError("fileset expression with no "
                                              "context")
             matchers.append(ctx.matchfileset(pat, badfn=badfn))
--- a/mercurial/templatekw.py	Mon Jan 07 15:25:41 2019 -0800
+++ b/mercurial/templatekw.py	Mon Jan 07 19:03:23 2019 -0500
@@ -586,7 +586,7 @@
 
 @templatekeyword("predecessors", requires={'repo', 'ctx'})
 def showpredecessors(context, mapping):
-    """Returns the list if the closest visible successors. (EXPERIMENTAL)"""
+    """Returns the list of the closest visible successors. (EXPERIMENTAL)"""
     repo = context.resource(mapping, 'repo')
     ctx = context.resource(mapping, 'ctx')
     predecessors = sorted(obsutil.closestpredecessors(repo, ctx.node()))
@@ -624,7 +624,7 @@
 @templatekeyword("successorssets", requires={'repo', 'ctx'})
 def showsuccessorssets(context, mapping):
     """Returns a string of sets of successors for a changectx. Format used
-    is: [ctx1, ctx2], [ctx3] if ctx has been splitted into ctx1 and ctx2
+    is: [ctx1, ctx2], [ctx3] if ctx has been split into ctx1 and ctx2
     while also diverged into ctx3. (EXPERIMENTAL)"""
     repo = context.resource(mapping, 'repo')
     ctx = context.resource(mapping, 'ctx')
--- a/tests/test-locate.t	Mon Jan 07 15:25:41 2019 -0800
+++ b/tests/test-locate.t	Mon Jan 07 19:03:23 2019 -0500
@@ -156,6 +156,11 @@
   $ hg files .
   [1]
 
+Fileset at null (i.e. a falsy context) shouldn't crash (issue6046)
+
+  $ hg files -r null 'set:tracked()'
+  [1]
+
 Convert native path separator to slash (issue5572)
 
   $ hg files -T '{path|relpath|slashpath}\n'
--- a/tests/test-simple-update.t	Mon Jan 07 15:25:41 2019 -0800
+++ b/tests/test-simple-update.t	Mon Jan 07 19:03:23 2019 -0500
@@ -57,6 +57,26 @@
   abort: you can't specify a revision and a date
   [255]
 
+update to default destination (with empty revspec)
+
+  $ hg update -q null
+  $ hg update
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg id
+  30aff43faee1 tip
+
+  $ hg update -q null
+  $ hg update -r ''
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg id
+  30aff43faee1 tip
+
+  $ hg update -q null
+  $ hg update ''
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg id
+  30aff43faee1 tip
+
   $ cd ..
 
 update with worker processes