# HG changeset patch # User Martin von Zweigbergk # Date 1579813848 28800 # Node ID 50e7ce1f96d1a10e462e02f7db5d7f8d93fc00df # Parent 00aaf11ec39993617885f24ac45c208d9db297d3# Parent ae596fac8ba072823ca9548b5360caa32a5d4840 merge with stable diff -r 00aaf11ec399 -r 50e7ce1f96d1 .hgsigs --- 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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 diff -r 00aaf11ec399 -r 50e7ce1f96d1 .hgtags --- 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 diff -r 00aaf11ec399 -r 50e7ce1f96d1 hgext/fix.py --- 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 diff -r 00aaf11ec399 -r 50e7ce1f96d1 hgext/largefiles/overrides.py --- 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) diff -r 00aaf11ec399 -r 50e7ce1f96d1 mercurial/cext/manifest.c --- 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; diff -r 00aaf11ec399 -r 50e7ce1f96d1 mercurial/commands.py --- 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) diff -r 00aaf11ec399 -r 50e7ce1f96d1 mercurial/crecord.py --- 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'), ) diff -r 00aaf11ec399 -r 50e7ce1f96d1 mercurial/progress.py --- 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 diff -r 00aaf11ec399 -r 50e7ce1f96d1 relnotes/5.3 --- /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). diff -r 00aaf11ec399 -r 50e7ce1f96d1 relnotes/next --- 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). diff -r 00aaf11ec399 -r 50e7ce1f96d1 tests/test-fix.t --- 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 diff -r 00aaf11ec399 -r 50e7ce1f96d1 tests/test-journal-exists.t --- 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: diff -r 00aaf11ec399 -r 50e7ce1f96d1 tests/test-subrepo-git.t --- 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 ..