Kyle Lippincott <spectral@google.com> [Sat, 05 Oct 2019 13:39:35 -0700] rev 43163
push: support config option to require revs be specified when running push
Differential Revision: https://phab.mercurial-scm.org/D6989
Georges Racinet <georges.racinet@octobus.net> [Thu, 10 Oct 2019 11:33:33 +0200] rev 43162
py3-discovery: using plain str in stats dict
rust-cpython converts automatically from Rust strings to
the appropriate `str` for the target Python version.
Insisting on discovery stats dict keys to be bytes hence breaks
the process (this is spotted by test-setdiscovery.t).
Now that byteify-strings has been run on the entire
codebase, and the import transformer is not there any more,
the simplest fix is to make the keys plain str again.
Another possible fix would be to forcefully convert to bytes in
rust-cpython code, but that feels less natural, and would probably
have to be reverted down the road.
Differential Revision: https://phab.mercurial-scm.org/D7039
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Oct 2019 04:48:31 +0200] rev 43161
perf: fix `perfhelper-mergecopies` report of #changesets
Same as `perfhelper-pathcopies`. The previous computation `<base>::<target>` was
wrong, what we actually need is `::<target> - ::<base>`.
This is now fixed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 02 Oct 2019 18:39:20 -0400] rev 43160
perf: fix `perfhelper-pathcopies` report of #changesets
The previous computation `<base>::<target>` was wrong, what we actually need is
`::<target> - ::<base>`.
This is now fixed
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 12:22:15 +0200] rev 43159
py3: use integer division in curseschunkselector.printstring()
This fixes a crash when scrolling in curses UI when refresh() is called
when a float value (namely 'self.firstlineofpadtoprint', taking its
value indirectly from 'self.linesprintedtopadsofar').
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 12:20:23 +0200] rev 43158
crecord: drop duplicated set of firstlineofpadtoprint attribute
The attribute is already set a couple of lines above, in
curseschunkselector.__init__().
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 10:53:13 +0200] rev 43157
patchbomb: use mail.Generator alias for py2/py3 compat
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 10:48:57 +0200] rev 43156
py3: use email.generator.BytesGenerator in patch.split()
This fixes test-import.t on python3.
We add Generator alias in mail module to handle python2/python3
compatibility.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 10:03:01 +0200] rev 43155
py3: only flush before prompting during interactive patch filtering
Follows up on
c9093ae8d6c4. It's enough to flush just before each
prompt.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 28 Aug 2019 17:45:18 -0700] rev 43154
py3: add a missing b'' prefix in test extension for chg
Differential Revision: https://phab.mercurial-scm.org/D7038
Augie Fackler <augie@google.com> [Wed, 09 Oct 2019 20:49:58 -0700] rev 43153
fuzz: new target to fuzz jsonescapeu8fast
This code just feels complicated enough we should go ahead and give it
a dedicated fuzzer: we've found bugs in similar things before.
Differential Revision: https://phab.mercurial-scm.org/D7034
Augie Fackler <augie@google.com> [Wed, 09 Oct 2019 20:49:39 -0700] rev 43152
fuzz: new fuzzer for fncache-related functions
Not all of these are strictly fncache-related, but they all have th
same signature and similar-enough behavior that we may as well fuzz
them together. No obvious bugs for once, but these felt like they were
just complicated enough to cover.
Differential Revision: https://phab.mercurial-scm.org/D7033
Augie Fackler <augie@google.com> [Wed, 09 Oct 2019 20:49:23 -0700] rev 43151
fuzz: exercise a little more revlog code
Differential Revision: https://phab.mercurial-scm.org/D7032
Augie Fackler <augie@google.com> [Wed, 09 Oct 2019 20:48:12 -0700] rev 43150
fuzz: new fuzzer for dirs.c
This found a six-year-old bug immediately, and then I put it through a
few CPU-days of time before sending it.
Differential Revision: https://phab.mercurial-scm.org/D7031
Augie Fackler <augie@google.com> [Tue, 08 Oct 2019 16:18:15 -0400] rev 43149
dirs: fix trivial over-read of input data
This code, introduced in
8c0a7eeda06d, was intentionally over-reading
an input string to avoid getting a shared string object for a one-byte
input. Unfortunately with an empty input (like in the case of a fuzzer
getting started) this was a trivial over-read and triggered an
AddressSanitizer failure.
I went out of my way to make sure the code still does the
copy-avoidance tricks. I don't think this change will cost us much
performance since the one-character strings should be cached
aggressively anyway.
Differential Revision: https://phab.mercurial-scm.org/D7030
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 06 Oct 2019 23:36:52 -0400] rev 43148
sidedatacopies: deal with upgrading and downgrading to that format
This is quite useful to test this on real life data.
Differential Revision: https://phab.mercurial-scm.org/D6955