Denis Laxalde <denis@laxalde.org> [Thu, 10 Oct 2019 20:27:34 +0200] rev 43168
py3: fix sorting of obsolete markers when building bundle
Last item of marker tuple (parents) is either None or tuple. Comparison
thus fails on Python 3 with:
TypeError: '<' not supported between instances of 'tuple' and 'NoneType'
Fixing this by coercing None to the empty tuple when sorting markers in
exchange._getbundleobsmarkerpart().
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Oct 2019 04:34:58 +0200] rev 43167
sidedata: rename the configuration option to `exp-use-side-data`
We don't want setup configured to use the final version that would end using the
experimental one while using and older version.
Differential Revision: https://phab.mercurial-scm.org/D7040
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 16:02:47 +0200] rev 43166
py3: drop ui.flush() during interactive patch filtering
With previous changeset fixing line buffering on stdout, this is no
longer needed.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 10 Oct 2019 16:00:02 +0200] rev 43165
py3: keep stdout as defined by pycompat in procutil
According to https://docs.python.org/3/library/functions.html#open, it's
not possible to use 1 as buffering argument value in binary mode. This
is probably why line buffering does not work well in python3.
On the other hand, sys.stdout.buffer appears to be line-buffered already
on python3. So by not replacing it, there should be no behavior change.
This fixes buffering issue in "hg email" (confirmation prompt shown
before information to be confirmed).
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 07 Oct 2019 21:21:16 -0400] rev 43164
notify: cast hash to bytes
This is needed to avoid a str/bytes mismatch when interpolating a
line or 2 later.
Differential Revision: https://phab.mercurial-scm.org/D7021
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').