Wed, 17 Jan 2018 21:42:56 -0500 bundlerepo: use native str when peeking in __dict__
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 21:42:56 -0500] rev 35833
bundlerepo: use native str when peeking in __dict__ # skip-blame since it's just a string constant prefix Differential Revision: https://phab.mercurial-scm.org/D1892
Wed, 17 Jan 2018 20:41:51 -0500 transaction: fix hg version check when loading journal
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:41:51 -0500] rev 35832
transaction: fix hg version check when loading journal Differential Revision: https://phab.mercurial-scm.org/D1891
Wed, 17 Jan 2018 20:38:10 -0500 branchmap: make error messages consistent between Python 2 and 3
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:38:10 -0500] rev 35831
branchmap: make error messages consistent between Python 2 and 3 Differential Revision: https://phab.mercurial-scm.org/D1890
Wed, 17 Jan 2018 20:37:17 -0500 tests: bytestring-ify all the adhoc extensions in test-strip.t
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:37:17 -0500] rev 35830
tests: bytestring-ify all the adhoc extensions in test-strip.t # skip-blame because we're just adding b'' Differential Revision: https://phab.mercurial-scm.org/D1889
Wed, 17 Jan 2018 20:09:52 -0500 filemerge: fix regular expression pattern to be bytes
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:09:52 -0500] rev 35829
filemerge: fix regular expression pattern to be bytes # skip-blame just a bytes prefix Differential Revision: https://phab.mercurial-scm.org/D1888
Wed, 17 Jan 2018 20:09:10 -0500 tags: explicitly grab list of dict keys
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:09:10 -0500] rev 35828
tags: explicitly grab list of dict keys Differential Revision: https://phab.mercurial-scm.org/D1887
Wed, 17 Jan 2018 20:08:40 -0500 commands: replace map() with list comprehension
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:08:40 -0500] rev 35827
commands: replace map() with list comprehension This will work identically on Python 2 and 3. Differential Revision: https://phab.mercurial-scm.org/D1886
Wed, 17 Jan 2018 20:07:53 -0500 commands: rewrite legacy ternary operator hack using modern syntax
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:07:53 -0500] rev 35826
commands: rewrite legacy ternary operator hack using modern syntax Differential Revision: https://phab.mercurial-scm.org/D1885
Wed, 17 Jan 2018 20:07:25 -0500 strip: use %d for known-int string interpolation
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 20:07:25 -0500] rev 35825
strip: use %d for known-int string interpolation Differential Revision: https://phab.mercurial-scm.org/D1884
Thu, 18 Jan 2018 10:22:41 -0500 strip: use in-place revset formatspec instead of %-formatting ourselves
Augie Fackler <augie@google.com> [Thu, 18 Jan 2018 10:22:41 -0500] rev 35824
strip: use in-place revset formatspec instead of %-formatting ourselves Caught by Yuya during review of D1884. Differential Revision: https://phab.mercurial-scm.org/D1905
Wed, 17 Jan 2018 19:11:51 -0500 tests: get run-tests to reliably hand shellquote a string and not a bytes
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 19:11:51 -0500] rev 35823
tests: get run-tests to reliably hand shellquote a string and not a bytes Differential Revision: https://phab.mercurial-scm.org/D1883
Thu, 01 Feb 2018 14:59:38 -0500 revsetlang: fix a doctest example on Python 3
Augie Fackler <augie@google.com> [Thu, 01 Feb 2018 14:59:38 -0500] rev 35822
revsetlang: fix a doctest example on Python 3 # skip-blame because it's just some bytes prefixes Differential Revision: https://phab.mercurial-scm.org/D1964
Thu, 01 Feb 2018 14:28:45 -0500 merge with stable
Augie Fackler <augie@google.com> [Thu, 01 Feb 2018 14:28:45 -0500] rev 35821
merge with stable
Thu, 01 Feb 2018 14:13:41 -0500 Added signature for changeset d334afc585e2 stable
Augie Fackler <raf@durin42.com> [Thu, 01 Feb 2018 14:13:41 -0500] rev 35820
Added signature for changeset d334afc585e2
Thu, 01 Feb 2018 14:13:40 -0500 Added tag 4.5 for changeset d334afc585e2 stable
Augie Fackler <raf@durin42.com> [Thu, 01 Feb 2018 14:13:40 -0500] rev 35819
Added tag 4.5 for changeset d334afc585e2
Thu, 01 Feb 2018 14:11:18 -0500 merge with i18n stable 4.5
Augie Fackler <augie@google.com> [Thu, 01 Feb 2018 14:11:18 -0500] rev 35818
merge with i18n
Wed, 31 Jan 2018 19:41:34 -0200 i18n-pt_BR: synchronized with 373fb3f5922c stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 31 Jan 2018 19:41:34 -0200] rev 35817
i18n-pt_BR: synchronized with 373fb3f5922c
Sun, 28 Jan 2018 14:08:59 -0500 revset: evaluate filesets against each revision for 'file()' (issue5778) stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Jan 2018 14:08:59 -0500] rev 35816
revset: evaluate filesets against each revision for 'file()' (issue5778) After f2aeff8a87b6, the fileset was evaluated to a set of files against the working directory, and then those files were applied against each revision. The result was nonsense. For example, `hg log -r 'file("set:exec()")'` on the Mercurial repo listed revision 0 because it has the `hg` script, which is currently +x. But that bit wasn't applied until revision 280 (which 'contains()' properly indicates). This technique was borrowed from checkstatus(), which services adds(), modifies(), and removes(), so it seems safe enough. The 'r:' case is explicitly assigned to wdirrev, freeing up rev=None to mean "re-evaluate at each revision". The distinction is important to avoid behavior changes with `hg log set:...` (test-largefiles-misc.t and test-fileset-generated.t drop current log output without this). I'm not sure what the right behavior for that is (1fd352aa08fc explicitly enabled this behavior for graphlog), but the day before the release isn't the time to experiment.
Wed, 31 Jan 2018 23:01:44 -0500 test-bookmarks-pushpull: stabilize for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 31 Jan 2018 23:01:44 -0500] rev 35815
test-bookmarks-pushpull: stabilize for Windows
Thu, 01 Feb 2018 16:46:12 +0800 makefile: add Ubuntu Artful docker targets (.deb and ppa) stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 01 Feb 2018 16:46:12 +0800] rev 35814
makefile: add Ubuntu Artful docker targets (.deb and ppa) Artful Aardvark was released on 2017-10-19 and will be supported until 2018-07.
Wed, 31 Jan 2018 16:31:34 +0100 bundle2: fix the formatting of the stream part requirements stable
Boris Feld <boris.feld@octobus.net> [Wed, 31 Jan 2018 16:31:34 +0100] rev 35813
bundle2: fix the formatting of the stream part requirements Use the same pre-encoded normalization as bundlespecs for the stream v2 part requirements. As it touch the wire protocol, it needs to change before the release. This was spotted by Gregory Szorc. Differential Revision: https://phab.mercurial-scm.org/D1950
Mon, 29 Jan 2018 10:28:10 +0100 streamclone: extract requirements formatting stable
Boris Feld <boris.feld@octobus.net> [Mon, 29 Jan 2018 10:28:10 +0100] rev 35812
streamclone: extract requirements formatting It will be reused for the formatting of the requirements of the stream v2 part requirement and later for the stream v2 requirements. Differential Revision: https://phab.mercurial-scm.org/D1949
Tue, 30 Jan 2018 22:27:45 +0100 bookmarks: fix pushkey compatibility mode (issue5777) stable
Boris Feld <boris.feld@octobus.net> [Tue, 30 Jan 2018 22:27:45 +0100] rev 35811
bookmarks: fix pushkey compatibility mode (issue5777) The namespace used for the compatibility mode was missing a trailing 's'.
Tue, 30 Jan 2018 20:32:48 -0800 lazymanifest: avoid reading uninitialized memory stable
Jun Wu <quark@fb.com> [Tue, 30 Jan 2018 20:32:48 -0800] rev 35810
lazymanifest: avoid reading uninitialized memory I got errors running tests with clang UBSAN [1] enabled. One of them is: ``` --- test-dirstate.t +++ test-dirstate.t.err @@ -85,9 +85,115 @@ $ echo "[extensions]" >> .hg/hgrc $ echo "dirstateex=../dirstateexception.py" >> .hg/hgrc $ hg up 0 - abort: simulated error while recording dirstateupdates - [255] + mercurial/cext/manifest.c:781:13: runtime error: load of value 190, which is not a valid value for type 'bool' + #0 0x7f668a8cf748 in lazymanifest_diff mercurial/cext/manifest.c:781 + #1 0x7f6692fc1dc4 in call_function Python-2.7.11/Python/ceval.c:4350 + ....... + SUMMARY: UndefinedBehaviorSanitizer: invalid-bool-load mercurial/cext/manifest.c:781:13 in + [1] $ hg log -r . -T '{rev}\n' 1 $ hg status - ? a ``` While the code is not technically wrong, but switching the condition would make clang UBSAN happy. So let's do it. The uninitialized memory could come from, for example, `lazymanifest_copy` allocates `self->maxlines` items but only writes the first `self->lines` items. [1]: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html Test Plan: Run `test-dirstate.t` with UBSAN and it no longer reports the issue. Differential Revision: https://phab.mercurial-scm.org/D1948
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip