Fri, 09 Oct 2020 09:22:59 -0700 automation: upgrade packages in Linux environment
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 09 Oct 2020 09:22:59 -0700] rev 45692
automation: upgrade packages in Linux environment It's been a while since we've ran `pip-compile -U`. Let's do that. When I ran this command, black was upgraded and newer versions of black complains about formatting differences. I didn't feel like shaving a yak, so I pinned the current black version to avoid churn. I manually ran tests against all major Python versions and I'm fairly certain no new test failures were introduced. Differential Revision: https://phab.mercurial-scm.org/D9188
Thu, 08 Oct 2020 18:17:20 -0700 packaging: upgrade packages in Windows environment
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 08 Oct 2020 18:17:20 -0700] rev 45691
packaging: upgrade packages in Windows environment I ran `pip-compile -U` to update all packages to latest versions. I did this so the Windows environment is more modern. dulwich 0.20 dropped support for Python 2.7. Rather than add yet another requirements.txt file, I decided to just pin at an older release to minimize complexity. Differential Revision: https://phab.mercurial-scm.org/D9187
Thu, 08 Oct 2020 18:07:34 -0700 contrib: install Python 3.9.0
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 08 Oct 2020 18:07:34 -0700] rev 45690
contrib: install Python 3.9.0 We update the Windows and Linux environments to install CPython 3.9.0, which was released a few days ago. Differential Revision: https://phab.mercurial-scm.org/D9186
Thu, 08 Oct 2020 18:02:47 -0700 contrib: stop installing Python 3.5 and 3.6 in Windows environment
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 08 Oct 2020 18:02:47 -0700] rev 45689
contrib: stop installing Python 3.5 and 3.6 in Windows environment We're only publishing Python 3.7+ wheels and other builds on Windows. Python 3.5 and 3.6 are not supported on this platform. Let's stop installing them in the development environment. Differential Revision: https://phab.mercurial-scm.org/D9185
Fri, 09 Oct 2020 09:17:47 -0700 py3: convert an exception message to bytes
Martin von Zweigbergk <martinvonz@google.com> [Fri, 09 Oct 2020 09:17:47 -0700] rev 45688
py3: convert an exception message to bytes One of our users ran into this (unrelated to my recent work on more specific errors). Differential Revision: https://phab.mercurial-scm.org/D9184
Fri, 09 Oct 2020 08:08:54 -0700 tests: fix test-url.py on py3, broken by D9179
Martin von Zweigbergk <martinvonz@google.com> [Fri, 09 Oct 2020 08:08:54 -0700] rev 45687
tests: fix test-url.py on py3, broken by D9179 Differential Revision: https://phab.mercurial-scm.org/D9180
Thu, 08 Oct 2020 16:14:06 +0200 revset: add a `node` key for sorting
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Oct 2020 16:14:06 +0200] rev 45686
revset: add a `node` key for sorting Sorting by node give an arbitrary, but stable order which is useful for sampling.
Sun, 04 Oct 2020 22:32:41 -0700 pyoxidizer: produce working Python 3 Windows installers (issue6366)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 Oct 2020 22:32:41 -0700] rev 45685
pyoxidizer: produce working Python 3 Windows installers (issue6366) While we've had code to produce Python 3 Windows installers with PyOxidizer, we haven't been advertising them on the web site due to a bug in making TLS connections and issues around resource handling. This commit upgrades our PyOxidizer install and configuration to use a recent Git commit of PyOxidizer. This new version of PyOxidizer contains a *ton* of changes, improvements, and bug fixes. Notably, Windows shared distributions now mostly "just work" and the TLS bug and random problems with Python extension modules in the standard library go away. And Python has been upgraded from 3.7 to 3.8.6. The price we pay for this upgrade is a ton of backwards incompatible changes to Starlark. I applied this commit (the overall series actually) on stable to produce Windows installers for Mercurial 5.5.2, which I published shortly before submitting this commit for review. In order to get the stable branch working, I decided to take a less aggressive approach to Python resource management. Previously, we were attempting to load all Python modules from memory and were performing some hacks to copy Mercurial's non-module resources into additional directories in Starlark. This commit implements a resource callback function in Starlark (a new feature since PyOxidizer 0.7) to dynamically assign standard library resources to in-memory loading and all other resources to filesystem loading. This means that Mercurial's files and all the other packages we ship in the Windows installers (e.g. certifi and pygments) are loaded from the filesystem instead of from memory. This avoids issues due to lack of __file__ and enables us to ship a working Python 3 installer on Windows. The end state of the install layout after this patch is not ideal for @: we still copy resource files like templates and help text to directories next to the hg.exe executable. There is code in @ to use importlib.resources to load these files and we could likely remove these copies once this lands on @. But for now, the install layout mimics what we've shipped for seemingly forever and is backwards compatible. It allows us to achieve the milestone of working Python 3 Windows installers and gets us a giant step closer to deleting Python 2. Differential Revision: https://phab.mercurial-scm.org/D9148
Thu, 08 Oct 2020 13:19:18 -0700 tests: set git config using `git config` for simplicity
Martin von Zweigbergk <martinvonz@google.com> [Thu, 08 Oct 2020 13:19:18 -0700] rev 45684
tests: set git config using `git config` for simplicity I also took the liberty to not set the same config value twice as we did before. Differential Revision: https://phab.mercurial-scm.org/D9176
Thu, 08 Oct 2020 13:10:16 -0700 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com> [Thu, 08 Oct 2020 13:10:16 -0700] rev 45683
tests: use `git init` instead of unusual synonym `git init-db` I had never heard of `git init-db` until I saw our tests. Differential Revision: https://phab.mercurial-scm.org/D9175
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip