Wed, 25 Mar 2020 18:50:40 -0700 py3: require values in changelog extras to be bytes stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Mar 2020 18:50:40 -0700] rev 44604
py3: require values in changelog extras to be bytes I don't know what happened here because b436059c1cca (py3: use pycompat.bytestr() on extra values because it can be int, 2019-02-05) came about b44a47214122 (py3: use string for "close" value in commit extras, 2018-02-11). Whatever happened, we shouldn't need to convert the values to bytes now. It's better to not convert because that might cover up bugs where someone sets a unicode value in the extras and that works until the unicode value happens to contain non-ascii (at which point it will fail because `bytestr()` expects its argument to be ascii if it's unicode). Differential Revision: https://phab.mercurial-scm.org/D8332
Wed, 25 Mar 2020 18:25:58 -0700 py3: make setup.py's hgcommand() consistently return bytes stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Mar 2020 18:25:58 -0700] rev 44603
py3: make setup.py's hgcommand() consistently return bytes Before this patch, it returned unicode when the command failed. That made e.g. `make local PYTHON=python3` fail on an obsolete commit. Differential Revision: https://phab.mercurial-scm.org/D8331
Wed, 25 Mar 2020 08:28:20 -0700 pvec: drop an unused `from __future__ import division`
Martin von Zweigbergk <martinvonz@google.com> [Wed, 25 Mar 2020 08:28:20 -0700] rev 44602
pvec: drop an unused `from __future__ import division` This module only uses the `//` operator (for integer division). Differential Revision: https://phab.mercurial-scm.org/D8326
Tue, 24 Mar 2020 23:31:36 -0700 py3: use integer division in histedit
Martin von Zweigbergk <martinvonz@google.com> [Tue, 24 Mar 2020 23:31:36 -0700] rev 44601
py3: use integer division in histedit Histedit uses the `/` operator, which does type conversion to float in Python 3 instead of integer division likeon Python 2. Let's preserve the Python 2 behavior by importing and using the `//` operator. Differential Revision: https://phab.mercurial-scm.org/D8324
Wed, 25 Mar 2020 10:06:32 +0100 rust: update README to reflect use of `regex` crate
Raphaël Gomès <rgomes@octobus.net> [Wed, 25 Mar 2020 10:06:32 +0100] rev 44600
rust: update README to reflect use of `regex` crate Differential Revision: https://phab.mercurial-scm.org/D8325
Mon, 23 Mar 2020 12:11:41 +0100 rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net> [Mon, 23 Mar 2020 12:11:41 +0100] rev 44599
rust: update all dependencies We do this periodically to say up to date. No major versions were crossed this time per se, but the `rand` is still in v0, and their 0.7x series broke three things: - Some distribution-related elements were moved to a separate crate, flashing a deprecation warning - The `LogNormal::new` associated function now returns a `Result` - Certain RNGs were updated to sample a `u32` instead of `usize` when their upper-bound is less than `u32::MAX` for better portability, which changed the output for 2 tests. Moreover, the recent use of the `regex` crate for ignore mechanisms prompted some benchmarking that revealed that `regex` was slower at compiling big regex than `Re2`. The author of `regex` was very quick to discover an optimization that yielded a 30% improvement. It's still slower than `Re2` in that regard, but less so in the 1.3.6 release. Differential Revision: https://phab.mercurial-scm.org/D8320
Mon, 23 Mar 2020 12:07:45 +0100 rust: update micro-timer dependency
Raphaël Gomès <rgomes@octobus.net> [Mon, 23 Mar 2020 12:07:45 +0100] rev 44598
rust: update micro-timer dependency The new version uses a much more robust technique and should remove any existing risk of bad compiler error or performance hit. Differential Revision: https://phab.mercurial-scm.org/D8319
Fri, 20 Mar 2020 15:21:34 +0100 rust-status: only involve ignore mechanism when needed
Raphaël Gomès <rgomes@octobus.net> [Fri, 20 Mar 2020 15:21:34 +0100] rev 44597
rust-status: only involve ignore mechanism when needed This prevents unnecessary fallbacks to Python, improving performance for `hg update` for instance. On Mozilla-Central a noop update goes from 1.6s down to 700ms. Differential Revision: https://phab.mercurial-scm.org/D8315
Thu, 26 Mar 2020 00:07:12 +0900 templater: fix cbor() filter to recursively convert smartset to list
Yuya Nishihara <yuya@tcha.org> [Thu, 26 Mar 2020 00:07:12 +0900] rev 44596
templater: fix cbor() filter to recursively convert smartset to list The previous attempt, e3e44e6e7245 "templater: fix cbor() filter to accept smartset", was incomplete since obj may be a collection containing a smartset. This works around the problem by converting smartsets recursively. Another option is to teach cborutil how to encode a smartset. That should be okay, but I hesitated to add "import smartset" to cborutil.py as the cborutil is pretty generic.
Mon, 23 Mar 2020 15:14:42 -0700 shelve: split up dounshelve() in unshelvecmd() and _dounshelve()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Mar 2020 15:14:42 -0700] rev 44595
shelve: split up dounshelve() in unshelvecmd() and _dounshelve() I'd like to be able to override the new `_dounshelve()`, getting access to the name of the shelve to unshelve. `unshelvecmd()` seems to better match the existing `createcmd()`, `listcmd()` etc. Differential Revision: https://phab.mercurial-scm.org/D8322
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip