changeset 44149:50e7ce1f96d1

merge with stable
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 23 Jan 2020 13:10:48 -0800
parents 00aaf11ec399 (current diff) ae596fac8ba0 (diff)
children ff22c76825b9
files
diffstat 13 files changed, 78 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsigs	Wed Jan 22 20:01:38 2020 -0800
+++ b/.hgsigs	Thu Jan 23 13:10:48 2020 -0800
@@ -189,3 +189,4 @@
 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
+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
--- a/.hgtags	Wed Jan 22 20:01:38 2020 -0800
+++ b/.hgtags	Thu Jan 23 13:10:48 2020 -0800
@@ -202,3 +202,4 @@
 ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb 5.2
 a50fecefa691c9b72a99e49aa6fe9dd13943c2bf 5.2.1
 b4c82b70418022e67cc0e69b1aa3c3aa43aa1d29 5.2.2
+84a0102c05c7852c8215ef6cf21d809927586b69 5.3rc0
--- a/hgext/fix.py	Wed Jan 22 20:01:38 2020 -0800
+++ b/hgext/fix.py	Thu Jan 23 13:10:48 2020 -0800
@@ -103,7 +103,7 @@
     to the file content. Provides "$HG_REV" and "$HG_PATH" to identify the file,
     and "$HG_METADATA" with a map of fixer names to metadata values from fixer
     tools that affected the file. Fixer tools that didn't affect the file have a
-    valueof None. Only fixer tools that executed are present in the metadata.
+    value of None. Only fixer tools that executed are present in the metadata.
 
   "postfix"
     Run once after all files and revisions have been handled. Provides
@@ -114,7 +114,7 @@
     executions that modified a file. This aggregates the same metadata
     previously passed to the "postfixfile" hook.
 
-Fixer tools are run the in repository's root directory. This allows them to read
+Fixer tools are run in the repository's root directory. This allows them to read
 configuration files from the working copy, or even write to the working copy.
 The working copy is not updated to match the revision being fixed. In fact,
 several revisions may be fixed in parallel. Writes to the working copy are not
--- a/hgext/largefiles/overrides.py	Wed Jan 22 20:01:38 2020 -0800
+++ b/hgext/largefiles/overrides.py	Thu Jan 23 13:10:48 2020 -0800
@@ -1199,7 +1199,16 @@
             sub = ctx.workingsub(subpath)
             submatch = matchmod.subdirmatcher(subpath, match)
             subprefix = prefix + subpath + b'/'
-            with lfstatus(sub._repo):
+
+            # TODO: Only hgsubrepo instances have `_repo`, so figure out how to
+            # infer and possibly set lfstatus in hgsubrepoarchive.  That would
+            # allow only hgsubrepos to set this, instead of the current scheme
+            # where the parent sets this for the child.
+            with (
+                util.safehasattr(sub, '_repo')
+                and lfstatus(sub._repo)
+                or util.nullcontextmanager()
+            ):
                 sub.archive(archiver, subprefix, submatch)
 
     archiver.done()
@@ -1257,7 +1266,15 @@
         sub = ctx.workingsub(subpath)
         submatch = matchmod.subdirmatcher(subpath, match)
         subprefix = prefix + subpath + b'/'
-        with lfstatus(sub._repo):
+        # TODO: Only hgsubrepo instances have `_repo`, so figure out how to
+        # infer and possibly set lfstatus at the top of this function.  That
+        # would allow only hgsubrepos to set this, instead of the current scheme
+        # where the parent sets this for the child.
+        with (
+            util.safehasattr(sub, '_repo')
+            and lfstatus(sub._repo)
+            or util.nullcontextmanager()
+        ):
             sub.archive(archiver, subprefix, submatch, decode)
 
 
--- a/mercurial/cext/manifest.c	Wed Jan 22 20:01:38 2020 -0800
+++ b/mercurial/cext/manifest.c	Thu Jan 23 13:10:48 2020 -0800
@@ -80,7 +80,7 @@
 	PyObject *hash = nodeof(l);
 
 	/* 40 for hash, 1 for null byte, 1 for newline */
-	size_t hplen = plen + 42;
+	Py_ssize_t hplen = plen + 42;
 	Py_ssize_t flen = l->len - hplen;
 	PyObject *flags;
 	PyObject *tup;
@@ -525,7 +525,7 @@
 	PyObject *pyflags;
 	char *flags;
 	Py_ssize_t flen;
-	size_t dlen;
+	Py_ssize_t dlen;
 	char *dest;
 	int i;
 	line new;
--- a/mercurial/commands.py	Wed Jan 22 20:01:38 2020 -0800
+++ b/mercurial/commands.py	Thu Jan 23 13:10:48 2020 -0800
@@ -5671,7 +5671,7 @@
 
 @command(
     b'recover',
-    [(b'', b'verify', True, b"run `hg verify` after succesful recover"),],
+    [(b'', b'verify', True, b"run `hg verify` after successful recover"),],
     helpcategory=command.CATEGORY_MAINTENANCE,
 )
 def recover(ui, repo, **opts):
@@ -5691,7 +5691,7 @@
             return hg.verify(repo)
         else:
             msg = _(
-                b"(verify step skipped, run  `hg verify` to check your "
+                b"(verify step skipped, run `hg verify` to check your "
                 b"repository content)\n"
             )
             ui.warn(msg)
--- a/mercurial/crecord.py	Wed Jan 22 20:01:38 2020 -0800
+++ b/mercurial/crecord.py	Thu Jan 23 13:10:48 2020 -0800
@@ -24,6 +24,7 @@
     encoding,
     error,
     patch as patchmod,
+    pycompat,
     scmutil,
     util,
 )
@@ -1113,7 +1114,7 @@
         # strip \n, and convert control characters to ^[char] representation
         text = re.sub(
             br'[\x00-\x08\x0a-\x1f]',
-            lambda m: b'^' + chr(ord(m.group()) + 64),
+            lambda m: b'^' + pycompat.sysbytes(chr(ord(m.group()) + 64)),
             text.strip(b'\n'),
         )
 
--- a/mercurial/progress.py	Wed Jan 22 20:01:38 2020 -0800
+++ b/mercurial/progress.py	Thu Jan 23 13:10:48 2020 -0800
@@ -193,6 +193,7 @@
         if not self.printed or not self.lastprint or not shouldprint(self.ui):
             return
         self._writeerr(b'\r%s\r' % (b' ' * self.width()))
+        self._flusherr()
         if self.printed:
             # force immediate re-paint of progress bar
             self.lastprint = 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/relnotes/5.3	Thu Jan 23 13:10:48 2020 -0800
@@ -0,0 +1,35 @@
+== New Features ==
+
+ * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d.
+
+
+== New Experimental Features ==
+
+
+== Bug Fixes  ==
+
+ * The `indent()` template function was documented to not indent empty lines,
+   but it still indented the first line even if it was empty. It no longer does
+   that.
+
+== Backwards Compatibility Changes ==
+
+
+== Internal API Changes ==
+
+ * Matcher instances no longer have a `explicitdir` property. Consider
+   rewriting your code to use `repo.wvfs.isdir()` and/or
+   `ctx.hasdir()` instead. Also, the `traversedir` property is now
+   also called when only `explicitdir` used to be called. That may
+   mean that you can simply remove the use of `explicitdir` if you
+   were already using `traversedir`.
+
+ * The `revlog.nodemap` object have been merged into the `revlog.index` object.
+   * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`,
+   * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`,
+   * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`.
+
+ * `copies.duplicatecopies()` was renamed to
+   `copies.graftcopies()`. Its arguments changed from revision numbers
+   to context objects. It also lost its `repo` and `skip` arguments
+   (they should no longer be needed).
--- a/relnotes/next	Wed Jan 22 20:01:38 2020 -0800
+++ b/relnotes/next	Thu Jan 23 13:10:48 2020 -0800
@@ -1,35 +1,14 @@
 == New Features ==
 
- * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d.
-
 
 == New Experimental Features ==
 
 
 == Bug Fixes  ==
 
- * The `indent()` template function was documented to not indent empty lines,
-   but it still indented the first line even if it was empty. It no longer does
-   that.
 
 == Backwards Compatibility Changes ==
 
 
 == Internal API Changes ==
 
- * Matcher instances no longer have a `explicitdir` property. Consider
-   rewriting your code to use `repo.wvfs.isdir()` and/or
-   `ctx.hasdir()` instead. Also, the `traversedir` property is now
-   also called when only `explicitdir` used to be called. That may
-   mean that you can simply remove the use of `explicitdir` if you
-   were already using `traversedir`.
-
- * The `revlog.nodemap` object have been merged into the `revlog.index` object.
-   * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`,
-   * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`,
-   * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`.
-
- * `copies.duplicatecopies()` was renamed to
-   `copies.graftcopies()`. Its arguments changed from revision numbers
-   to context objects. It also lost its `repo` and `skip` arguments
-   (they should no longer be needed).
--- a/tests/test-fix.t	Wed Jan 22 20:01:38 2020 -0800
+++ b/tests/test-fix.t	Thu Jan 23 13:10:48 2020 -0800
@@ -215,7 +215,7 @@
       to the file content. Provides "$HG_REV" and "$HG_PATH" to identify the file,
       and "$HG_METADATA" with a map of fixer names to metadata values from fixer
       tools that affected the file. Fixer tools that didn't affect the file have a
-      valueof None. Only fixer tools that executed are present in the metadata.
+      value of None. Only fixer tools that executed are present in the metadata.
   
     "postfix"
       Run once after all files and revisions have been handled. Provides
@@ -226,7 +226,7 @@
       executions that modified a file. This aggregates the same metadata
       previously passed to the "postfixfile" hook.
   
-  Fixer tools are run the in repository's root directory. This allows them to
+  Fixer tools are run in the repository's root directory. This allows them to
   read configuration files from the working copy, or even write to the working
   copy. The working copy is not updated to match the revision being fixed. In
   fact, several revisions may be fixed in parallel. Writes to the working copy
--- a/tests/test-journal-exists.t	Wed Jan 22 20:01:38 2020 -0800
+++ b/tests/test-journal-exists.t	Thu Jan 23 13:10:48 2020 -0800
@@ -21,7 +21,7 @@
   checking files
   checked 1 changesets with 1 changes to 1 files
 
-recover, explicite verify
+recover, explicit verify
 
   $ touch .hg/store/journal
   $ hg ci -Am0
@@ -45,7 +45,7 @@
   [255]
   $ hg recover --no-verify
   rolling back interrupted transaction
-  (verify step skipped, run  `hg verify` to check your repository content)
+  (verify step skipped, run `hg verify` to check your repository content)
 
 
 Check that zero-size journals are correctly aborted:
--- a/tests/test-subrepo-git.t	Wed Jan 22 20:01:38 2020 -0800
+++ b/tests/test-subrepo-git.t	Thu Jan 23 13:10:48 2020 -0800
@@ -376,6 +376,15 @@
   a
   s/g
 
+  $ hg -R ../tc archive -S ../lf_archive.tgz --prefix '.' \
+  >       --config extensions.largefiles= 2>/dev/null
+  $ tar -tzf ../lf_archive.tgz | sort | grep -v pax_global_header
+  .hg_archival.txt
+  .hgsub
+  .hgsubstate
+  a
+  s/g
+
 create nested repo
 
   $ cd ..