Tue, 05 Nov 2019 21:29:40 +0900 py3: do not reimplement Abort.__str__() on Python 2 stable
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Nov 2019 21:29:40 +0900] rev 43417
py3: do not reimplement Abort.__str__() on Python 2 It isn't necessary on Python 2, and the default implementation should be better than our BaseException_str() clone.
Mon, 04 Nov 2019 20:57:31 -0800 tests: write out file using bytes I/O stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 20:57:31 -0800] rev 43416
tests: write out file using bytes I/O The encoding of sys.stdout varies between Python versions. So using a one-liner to write a file from a Unicode string is not deterministic. This commit writes out the file using bytes I/O to ensure we have exactly the bytes we want in the file. This change fixes a test failure in Python 3.5/3.6. Differential Revision: https://phab.mercurial-scm.org/D7226
Mon, 04 Nov 2019 20:46:19 -0800 import-checker: open all source files as utf-8 stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 20:46:19 -0800] rev 43415
import-checker: open all source files as utf-8 Before, we opened in text mode and used the default encoding to interpret the bytes within. This caused problems interpreting some byte sequences in some files. This commit changes things to always open files as UTF-8, which makes the error go away. test-check-module-imports.t now passes on Python 3.5 and 3.6 with this change. Differential Revision: https://phab.mercurial-scm.org/D7225
Mon, 04 Nov 2019 21:17:34 -0800 localrepo: use str for lookup in vars() stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 21:17:34 -0800] rev 43414
localrepo: use str for lookup in vars() vars() returns a dict of str. So always use a native str for the key lookup. Differential Revision: https://phab.mercurial-scm.org/D7227
Mon, 04 Nov 2019 23:44:10 -0800 automation: install python3-venv Debian package stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 23:44:10 -0800] rev 43413
automation: install python3-venv Debian package Debian's python install has a crippled venv by default, as it is lacking ensurepip. When you try to run `python3 -m venv` it tells you to install `python3-venv`. So this commit does that in our automation environment so we can fully test installing Mercurial using venv+pip with the system Python. Differential Revision: https://phab.mercurial-scm.org/D7229
Mon, 04 Nov 2019 23:42:18 -0800 tests: look for ensurepip before using venv stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 23:42:18 -0800] rev 43412
tests: look for ensurepip before using venv Debian appears to cripple the venv module by default by removing the associated ensurepip functionality. (The module isn't present at all.) This caused test-install.t to fail when using the Debian python3 unless the python3-venv package was installed. This commit introduces a new hghave requirement for detecting ensurepip and makes the Python 3 install variant conditional on its presence. This should make test-install.t pass when using an incomplete Debian Python. Differential Revision: https://phab.mercurial-scm.org/D7228
Thu, 17 Oct 2019 16:46:13 -0400 automation: avoid '~' in the temp directory on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 17 Oct 2019 16:46:13 -0400] rev 43411
automation: avoid '~' in the temp directory on Windows If a long-ish username is used, the environment variable ends up with a '~' to be 8.3 path compatible. That in turn causes a handful of tests (mostly ssh related) to add quotes around $TESTMP. I have no AWS experience, so I have no idea if this is the proper way to do it. But I've hit this problem locally, and redirecting the directory is a workaround. I don't recall if the directory is created on demand by the test harness, but presumably if this is configured before the machine boots, Windows will do it for us. Differential Revision: https://phab.mercurial-scm.org/D7130
Mon, 04 Nov 2019 20:33:38 -0800 tests: use venv on Python 3 stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 20:33:38 -0800] rev 43410
tests: use venv on Python 3 This test was failing in some Python 3 environments because `$PYTHON -m virtualenv` was somehow resulting in Python 2 being used. Why, I'm not sure. Python 3 includes virtualenv in the standard library as the `venv` module. This commit changes test-install.t to use `$PYTHON -m venv` on Python 3 and `$PYTHON -m virtualenv` on Python 2 (if available). I chose to make some test output duplicated because we can't have nested conditionals and there is no easy way to express ORing of hghave checks. Differential Revision: https://phab.mercurial-scm.org/D7224
Mon, 04 Nov 2019 20:10:51 -0800 tests: remove HGALLOWPYTHON3 reference stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 20:10:51 -0800] rev 43409
tests: remove HGALLOWPYTHON3 reference This variable was removed from setup.py in c3e10f705a6c. Differential Revision: https://phab.mercurial-scm.org/D7223
Mon, 04 Nov 2019 20:21:31 -0800 run-tests: use byte strings for inserted output stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Nov 2019 20:21:31 -0800] rev 43408
run-tests: use byte strings for inserted output We were inserting str on Python 3 which resulted in mixed str/bytes types on the list. This would later blow up when trying to write str to the .err file opened in bytes mode. Differential Revision: https://phab.mercurial-scm.org/D7222
Mon, 04 Nov 2019 19:19:36 +0000 contrib: require Python 3.7 for byteify-strings.py stable
Ian Moody <moz-ian@perix.co.uk> [Mon, 04 Nov 2019 19:19:36 +0000] rev 43407
contrib: require Python 3.7 for byteify-strings.py bb509f39d387 made an error, it's actually 3.7 that introduced token.COMMENT. Differential Revision: https://phab.mercurial-scm.org/D7220
Mon, 04 Nov 2019 12:20:11 -0500 hghave: fix bytes/string issue on Python 3 stable
Augie Fackler <augie@google.com> [Mon, 04 Nov 2019 12:20:11 -0500] rev 43406
hghave: fix bytes/string issue on Python 3
Mon, 04 Nov 2019 07:56:53 +0100 packaging: add support for CentOS 8 stable
Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 04 Nov 2019 07:56:53 +0100] rev 43405
packaging: add support for CentOS 8 The resulting executable has not been tested in detail yet. I ran 'hg version' and 'hg clone', which worked fine (except for extensions acting up due to Python 3). Differential Revision: https://phab.mercurial-scm.org/D7216
Mon, 04 Nov 2019 07:40:32 +0100 packaging: allow choosing python version depending on centos version stable
Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 04 Nov 2019 07:40:32 +0100] rev 43404
packaging: allow choosing python version depending on centos version Differential Revision: https://phab.mercurial-scm.org/D7217
Mon, 04 Nov 2019 19:05:44 +0000 fsmonitor: use stringutil.forcebytestr() instead of str() on an exception stable
Ian Moody <moz-ian@perix.co.uk> [Mon, 04 Nov 2019 19:05:44 +0000] rev 43403
fsmonitor: use stringutil.forcebytestr() instead of str() on an exception Similar to 5fa8ac91190e / D7206, should get test-install.t passing on py3. Differential Revision: https://phab.mercurial-scm.org/D7218
Mon, 04 Nov 2019 16:13:01 +0100 py3: add a __str__ method to Abort stable
Denis Laxalde <denis@laxalde.org> [Mon, 04 Nov 2019 16:13:01 +0100] rev 43402
py3: add a __str__ method to Abort This improves the rendering of some exceptions by avoiding raw bytestrings, especially when using --traceback option.
Mon, 04 Nov 2019 16:04:09 +0100 py3: add Python 3 exception output to test-lfs-serve-access.t stable
Denis Laxalde <denis@laxalde.org> [Mon, 04 Nov 2019 16:04:09 +0100] rev 43401
py3: add Python 3 exception output to test-lfs-serve-access.t Similar to a973a75e92bf or 3e9c6cef949b.
Thu, 31 Oct 2019 19:54:58 -0700 automation: install black stable
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 31 Oct 2019 19:54:58 -0700] rev 43400
automation: install black This should unblock us from running the code formatting test in our automated environment. Differential Revision: https://phab.mercurial-scm.org/D7197
Sat, 02 Nov 2019 22:21:25 +0000 py3: use %d to format an int stable
Ian Moody <moz-ian@perix.co.uk> [Sat, 02 Nov 2019 22:21:25 +0000] rev 43399
py3: use %d to format an int Avoids a TypeError under py3. Fortunately this is very much an edge case since it requires the user to have deliberately created a local tag of the form 'D\d+' that isn't truthful. Differential Revision: https://phab.mercurial-scm.org/D7215
Sat, 02 Nov 2019 15:02:35 -0700 fsmonitor: normalize exception types to bytes stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 15:02:35 -0700] rev 43398
fsmonitor: normalize exception types to bytes Unavailable.msg should now always be bytes. We also rename Unavailable.__str__ to __bytes__ as it always returns bytes. We make __str__ a simple wrapper that decodes that result to str. There's probably some excessive strutil.forcebytestr() in fsmonitor/__init__.py now. But at least the exceptions around type coercion should now be gone. Differential Revision: https://phab.mercurial-scm.org/D7214
Sat, 02 Nov 2019 14:55:45 -0700 fsmonitor: normalize clock value to bytes stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 14:55:45 -0700] rev 43397
fsmonitor: normalize clock value to bytes We normalize the value returned by watchman because we perform a number of compares with this value in code. So the easiest path forward is to normalize to bytes so we don't have to update many call sites. With this commit, the fsmonitor extension appears to be working with Python 3! Although there are still some failures in edge cases... Differential Revision: https://phab.mercurial-scm.org/D7213
Sat, 02 Nov 2019 14:27:55 -0700 fsmonitor: use next() instead of .next() stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 14:27:55 -0700] rev 43396
fsmonitor: use next() instead of .next() This is needed for Python 3 compatibility. Differential Revision: https://phab.mercurial-scm.org/D7212
Sat, 02 Nov 2019 14:26:06 -0700 fsmonitor: normalize Watchman paths to bytes stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 14:26:06 -0700] rev 43395
fsmonitor: normalize Watchman paths to bytes Otherwise it will be a str on Python 3 and operations below which operate in the bytes domain will fail. Differential Revision: https://phab.mercurial-scm.org/D7211
Sat, 02 Nov 2019 14:17:48 -0700 fsmonitor: handle unicode keys in tuples stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 14:17:48 -0700] rev 43394
fsmonitor: handle unicode keys in tuples In Python 3, keys in the bset tuple are typically str, not bytes. PyBytes_AsString() would return NULL. But we weren't checking the return value and this would lead to a segfault. This commit makes the code type and Python version aware. The Python version specific code is to allow us to utilize a modern API for converting str -> char* without having to allocate an extra PyObject. FWIW I wanted to assume that keys were always str. However, there appear to be some bytes keys in some cases. I haven't debugged this further. Differential Revision: https://phab.mercurial-scm.org/D7210
Sat, 02 Nov 2019 13:39:23 -0700 fsmonitor: make _hashignore compatible with Python 3 stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 13:39:23 -0700] rev 43393
fsmonitor: make _hashignore compatible with Python 3 The Hasher wants a bytes but we were feeding it a str. Let's use our repr() implementation to return bytes. In addition, the hexdigest() would return a str, which would be compared against a bytes and would always fail. Normalize to bytes so the compare works. Differential Revision: https://phab.mercurial-scm.org/D7209
Sat, 02 Nov 2019 13:34:40 -0700 fsmonitor: normalize hostname to bytes stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 13:34:40 -0700] rev 43392
fsmonitor: normalize hostname to bytes Without this, we get a str/bytes mismatching when using % formatting a few lines below. Differential Revision: https://phab.mercurial-scm.org/D7208
Sat, 02 Nov 2019 13:30:23 -0700 fsmonitor: access repo.root stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 13:30:23 -0700] rev 43391
fsmonitor: access repo.root There is no repo._root. It looks like fsmonitor has been busted since this access was introduced in ab1900323b1 in July 2019! Differential Revision: https://phab.mercurial-scm.org/D7207
Sat, 02 Nov 2019 13:08:20 -0700 fsmonitor: coerce watchman exception to bytes stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 13:08:20 -0700] rev 43390
fsmonitor: coerce watchman exception to bytes Without this, we get errors due to passing str to a function which expects bytes. Differential Revision: https://phab.mercurial-scm.org/D7206
Sat, 02 Nov 2019 13:04:47 -0700 fsmonitor: fix str/bytes mismatch when accessing watchman version stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 13:04:47 -0700] rev 43389
fsmonitor: fix str/bytes mismatch when accessing watchman version There were 2 bugs here. First, keys in the tuple are always str. Second, we needed to normalize the value to bytes to prevent a str/bytes mismatch on Python 3. With this commit, `hg debuginstall` with fsmonitor enabled now works on Python 3. Differential Revision: https://phab.mercurial-scm.org/D7205
Sat, 02 Nov 2019 12:54:47 -0700 fsmonitor: reapply b1f62cd39b5c stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 12:54:47 -0700] rev 43388
fsmonitor: reapply b1f62cd39b5c The recent revendoring of pywatchman undid this changeset. Let's reapply it. This commit was generated by running `hg graft -f b1f62cd39b5c`. It applied cleanly. Differential Revision: https://phab.mercurial-scm.org/D7204
Sat, 02 Nov 2019 12:52:58 -0700 fsmonitor: reapply dd35abc409ee stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 12:52:58 -0700] rev 43387
fsmonitor: reapply dd35abc409ee The recent revendoring of pywatchman undid this bug fix. Let's reapply it. Differential Revision: https://phab.mercurial-scm.org/D7203
Sat, 02 Nov 2019 12:51:28 -0700 fsmonitor: remove pywatchman from exclusion rule stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 12:51:28 -0700] rev 43386
fsmonitor: remove pywatchman from exclusion rule The recently vendored pywatchman code base is now formatted with black. We can now remove pywatchman from our black exclusion rule. Differential Revision: https://phab.mercurial-scm.org/D7202
Sat, 02 Nov 2019 12:42:23 -0700 fsmonitor: refresh pywatchman with upstream stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 12:42:23 -0700] rev 43385
fsmonitor: refresh pywatchman with upstream This commit vendors pywatchman commit 259dc66dc9591f9b7ce76d0275bb1065f390c9b1 from upstream without modifications. The previously vendored pywatchman from changeset 16f4b341288d was from Git commit c77452. This commit effectively undoes the following Mercurial changesets: * dd35abc409ee fsmonitor: correct an error message * b1f62cd39b5c fsmonitor: layer on another hack in bser.c for os.stat() compat (issue5811) * c31ce080eb75 py3: convert arguments, cwd and env to native strings when spawning subprocess * 876494fd967d cleanup: delete lots of unused local variables * 57264906a996 watchman: add the possibility to set the exact watchman binary location The newly-vendored code has support for specifying the binary location, so 57264906a996 does not need applied. But we do need to modify our code to specify a proper argument name. 876494fd967d is not important, so it will be ignored. c31ce080eb75 globally changed the code base to always pass str to subprocess. But pywatchman's code is Python 3 clean, so we don't need to do this. This leaves dd35abc409ee and b1f62cd39b5c, which will be re-applied in subsequent commits. Differential Revision: https://phab.mercurial-scm.org/D7201
Mon, 04 Nov 2019 10:09:08 +0100 py3: encode strings before setting rev summary in gnuarch converter stable
Denis Laxalde <denis@laxalde.org> [Mon, 04 Nov 2019 10:09:08 +0100] rev 43384
py3: encode strings before setting rev summary in gnuarch converter
Mon, 04 Nov 2019 09:56:10 +0100 py3: use raw string to query EmailMessage in gnuarch converter stable
Denis Laxalde <denis@laxalde.org> [Mon, 04 Nov 2019 09:56:10 +0100] rev 43383
py3: use raw string to query EmailMessage in gnuarch converter
Mon, 04 Nov 2019 09:52:13 +0100 py3: use mail.parsebytes() in gnuarch catlog parser stable
Denis Laxalde <denis@laxalde.org> [Mon, 04 Nov 2019 09:52:13 +0100] rev 43382
py3: use mail.parsebytes() in gnuarch catlog parser We drop 'catlogparser' attribute now unused.
Mon, 04 Nov 2019 09:35:10 +0100 tests: handle Message-Id line wrapping in test-notify-changegroup.t stable
Denis Laxalde <denis@laxalde.org> [Mon, 04 Nov 2019 09:35:10 +0100] rev 43381
tests: handle Message-Id line wrapping in test-notify-changegroup.t This fixes this test on Python 3 with a long hostname. See changeset 4128ffba4431 for details.
Sat, 02 Nov 2019 12:09:35 -0700 py3: define and use json.loads polyfill stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 12:09:35 -0700] rev 43380
py3: define and use json.loads polyfill Python 3.5's json.loads() requires a str. Only Python 3.6+ supports passing a bytes or bytearray. This commit implements a json.loads() polyfill on Python 3.5 so that we can use bytes. The added function to detect encodings comes verbatim from Python 3.7.
Sat, 02 Nov 2019 11:48:38 -0700 contrib: require Python 3.6 for byteify-strings.py stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 11:48:38 -0700] rev 43379
contrib: require Python 3.6 for byteify-strings.py This script makes use of `token.COMMENT`, which apparently isn't present until Python 3.6. So make the script and its test conditional on Python 3.6.
Sat, 02 Nov 2019 11:42:46 -0700 demandimportpy3: only use lazy extension loader on Python 3.6+ stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 11:42:46 -0700] rev 43378
demandimportpy3: only use lazy extension loader on Python 3.6+ There was an inline comment denoting a bug in the lazy extension loader on Python 3.5 which prevents it from working there. But the code was not conditional on the Python version. The result of this was a myriad of failures on Python 3.5 due to getattr() and friends not working on lazy extension modules. By making extension modules non-lazy on Python 3.5, we reduce the number of test failures from 48 to 22 on that Python version.
Sat, 02 Nov 2019 15:33:39 -0700 ui: flush before prompting for input with readline stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 02 Nov 2019 15:33:39 -0700] rev 43377
ui: flush before prompting for input with readline I was using `hg absorb` with Python 3 and noticed that the prompt was appearing without any output about what would be done. After I answered the prompt, the output was printed to stdout. This appears to be a buffering difference between Python 2 and Python 3. To work around it, this commit adds an explicit flush() before calling the raw input function when readline is used.
Fri, 01 Nov 2019 21:46:34 -0700 histedit: restore hex nodeids to be 12 digits long stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 01 Nov 2019 21:46:34 -0700] rev 43376
histedit: restore hex nodeids to be 12 digits long I accidentally switched from 12 digits to 40 digits while making the code py3-compatible. Thanks to Yuya for noticing. Differential Revision: https://phab.mercurial-scm.org/D7200
Tue, 29 Oct 2019 10:54:08 -0700 tests: fix typo "includfe" stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 29 Oct 2019 10:54:08 -0700] rev 43375
tests: fix typo "includfe" Differential Revision: https://phab.mercurial-scm.org/D7180
Fri, 01 Nov 2019 11:02:47 -0700 py3: fix fsmonitor's _watchmantofsencoding exception message encoding stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 11:02:47 -0700] rev 43374
py3: fix fsmonitor's _watchmantofsencoding exception message encoding Differential Revision: https://phab.mercurial-scm.org/D7190
Thu, 31 Oct 2019 15:03:12 -0700 py3: use native strings as keys into **opts in chistedit stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 31 Oct 2019 15:03:12 -0700] rev 43373
py3: use native strings as keys into **opts in chistedit Now you should be able to successfully confirm your histedit plan (at least in the case I tried). Even continuing after conflicts and finishing the histedit worked. Differential Revision: https://phab.mercurial-scm.org/D7186
Thu, 31 Oct 2019 15:00:49 -0700 py3: open chistedit file in binary mode using vfs stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 31 Oct 2019 15:00:49 -0700] rev 43372
py3: open chistedit file in binary mode using vfs We write bytes to the file, so it should be open in binary mode. Opening it via the vfs takes care of that for us. Now you'll get yet a different traceback if you try to confirm you histedit plan. Differential Revision: https://phab.mercurial-scm.org/D7185
Thu, 31 Oct 2019 15:02:48 -0700 py3: avoid another b''.format() in chistedit stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 31 Oct 2019 15:02:48 -0700] rev 43371
py3: avoid another b''.format() in chistedit Now you'll get a different traceback if you try to confirm you histedit plan. Differential Revision: https://phab.mercurial-scm.org/D7184
Thu, 31 Oct 2019 15:02:03 -0700 py3: render message about conflicts in chistedit code stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 31 Oct 2019 15:02:03 -0700] rev 43370
py3: render message about conflicts in chistedit code Now you can also reorder commits that (potentially) conflict. Just don't try to confirm the changes yet (because then it crashes). Differential Revision: https://phab.mercurial-scm.org/D7183
Thu, 31 Oct 2019 14:46:17 -0700 py3: handle keypresses in chistedit stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 31 Oct 2019 14:46:17 -0700] rev 43369
py3: handle keypresses in chistedit Now you can navigate and change the action for a commit. You can also reorder commits, as long as that doesn't result in a conflict (then it crashes). Differential Revision: https://phab.mercurial-scm.org/D7182
Thu, 31 Oct 2019 14:25:51 -0700 py3: make chistedit render stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 31 Oct 2019 14:25:51 -0700] rev 43368
py3: make chistedit render Now you can see the list of commits, but it crashes when you press a key. Differential Revision: https://phab.mercurial-scm.org/D7181
Fri, 01 Nov 2019 17:23:02 +0100 py3: fix exception display encoding in contrib/simplemerge.py stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 17:23:02 +0100] rev 43367
py3: fix exception display encoding in contrib/simplemerge.py Differential Revision: https://phab.mercurial-scm.org/D7191
Fri, 01 Nov 2019 17:31:47 +0100 py3: fix exception message check in test-linerange.py's testOutOfRange stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 17:31:47 +0100] rev 43366
py3: fix exception message check in test-linerange.py's testOutOfRange Differential Revision: https://phab.mercurial-scm.org/D7192
Fri, 01 Nov 2019 17:35:36 +0100 py3: fix exception message encoding in scmutil.py's simplekeyvaluefile.read stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 17:35:36 +0100] rev 43365
py3: fix exception message encoding in scmutil.py's simplekeyvaluefile.read Differential Revision: https://phab.mercurial-scm.org/D7193
Fri, 01 Nov 2019 17:38:07 +0100 py3: fix crecord.py's editpatchwitheditor exception message encoding stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 17:38:07 +0100] rev 43364
py3: fix crecord.py's editpatchwitheditor exception message encoding Differential Revision: https://phab.mercurial-scm.org/D7194
Fri, 01 Nov 2019 17:39:17 +0100 py3: fix exception message encoding in infinitepush stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 17:39:17 +0100] rev 43363
py3: fix exception message encoding in infinitepush Differential Revision: https://phab.mercurial-scm.org/D7195
Fri, 01 Nov 2019 10:57:31 -0700 py3: fix fsmonitor's _handleunavailable exception message encoding stable
Emmanuel Leblond <emmanuel.leblond@gmail.com> [Fri, 01 Nov 2019 10:57:31 -0700] rev 43362
py3: fix fsmonitor's _handleunavailable exception message encoding Differential Revision: https://phab.mercurial-scm.org/D7196
(0) -30000 -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 tip