Raphaël Gomès <rgomes@octobus.net> [Mon, 03 Oct 2022 10:00:00 +0200] rev 49422
heptapod-ci: use shell script in pytype step
Matt Harbison <matt_harbison@yahoo.com> [Wed, 28 Sep 2022 11:27:59 -0400] rev 49421
tests: migrate the pytype test to a shell script for easier CI processing
There have been recent hangs and timeout, but it's hard to debug because the *.t
test redirects output to a file and only prints it if `pytype` actually exits.
This shell script can be run directly by CI, and will allow more flexibility to
try to cache and restore type stubs for further speed increases.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 22 Sep 2022 16:05:22 -0400] rev 49420
rhg: fix bugs around [use-dirstate-tracked-hint] and repo auto-upgrade
This makes two changes:
- make rhg support the [dirstate-tracked-key-v1] requirement.
I believe rhg never changes the tracked file set, so it's OK that it
doesn't have any logic for writing this file.
- fix the name of [format.use-dirstate-v2.automatic-upgrade-of-mismatching-repositories]
config option in rhg, which makes rhg actually honor the auto-upgrade.
These two issues cancelled each other out in tests (auto-upgrade was happening
because [dirstate-tracked-key-v1] forced the fallback, not because of the config),
which is I think why they went unnoticed earlier.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 20 Sep 2022 13:38:07 -0400] rev 49419
tests: fix the flaky test test-logtoprocess.t
The main change is that we're waiting for the [touched] file to appear for 5 seconds instead of 0.1 seconds. Also, instead of implementing wait-on-file from scratch, we use the existing one from testlib/ that works well.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 06 Sep 2022 15:08:52 -0400] rev 49418
packaging: update dulwich to drop the certifi dependency on Windows
The presence of `certifi` causes the system certificate store to be ignored,
which was reported as a bug against TortoiseHg[1]. It was only pulled in on
Windows because of `dulwich`, which was copied from the old TortoiseHg install
scripts, in order to support `hg-git`.
This version of `dulwich` raises the minimum `urllib3` to a version (1.25) that
does certificate verification by default, without the help of `certifi`[2]. We
already bundle a newer version of `urllib3`. Note that `certifi` can still be
imported from the user site directory, if installed there. But the installer no
longer disables the system certificates by default.
[1] https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5825
[2] https://github.com/jelmer/dulwich/issues/1025
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 19 Sep 2022 17:34:42 -0400] rev 49417
tests: fix tar invocation, to address issue 6740
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:41:48 +0200] rev 49416
relnotes: add 6.2.1 and 6.2.2
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:44:00 +0200] rev 49415
Added signature for changeset b5c8524827d2
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Sep 2022 16:43:36 +0200] rev 49414
Added tag 6.2.2 for changeset b5c8524827d2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 01 Sep 2022 15:49:14 +0200] rev 49413
dirstate-v2: no longer register the data-file during transaction
If the data file change during the transaction, we cannot truncate it.
The content of the file itself is fine as it will get backed up at the same time
as the docket.
Leaving the trailing data at the end of failed transaction is fine. The
dirstate-v2 format supports it. The dead data will simply we written over if
necessary.
Raphaël Gomès <rgomes@octobus.net> [Tue, 30 Aug 2022 17:05:19 +0200] rev 49412
fsmonitor: use new dirstate APIs (issue6728)
On top of fixing fsmonitor, it moves one more "old API" use to the new one.
This needs very verbose code to save a few function calls that are very
expensive in Python.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 Aug 2022 06:37:42 +0200] rev 49411
dirstate-v2: backup the data file during the transaction (issue6730)
If we backup of the docket, without doing a backup of the data file, we
highly risk restoring a docket pointing to a missing file in the future.
So we now backup the data-file alongside the docket.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 Aug 2022 05:48:32 +0200] rev 49410
dirstate-v2: display a possible issue with transaction
If we backup the dirstate without the data file, we can end up in an
inconsistent state of the transaction is rolled back.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 31 Aug 2022 05:36:53 +0200] rev 49409
test-dirstate: do not get out of the test directory
It looks like we were doing one `cd ..` too many.
Raphaël Gomès <rgomes@octobus.net> [Mon, 29 Aug 2022 16:09:30 +0200] rev 49408
rust-matchers: fix behavior of `IncludeMatcher` with multiple includes
This change adds a test for this fix as well as an additional test case that
was useful in debugging this behavior.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 30 Aug 2022 10:52:32 +0100] rev 49407
tests: improve portability by no longer using the flag [tar --force-local]
A different way of making sure the path is not interpreted as a URL is to never
give this path to [tar], instead making tar read from stdin.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 25 Aug 2022 16:53:56 +0100] rev 49406
tests: remove flakiness in a time-dependent test
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 26 Aug 2022 11:36:20 +0100] rev 49405
tests: remove flakiness in test-nointerrupt.t
The problem was that the reaction to the signal was racing against
the completion of the command.
Since reaction to the signal is to print a line of warning,
we can fix this by waiting for that warning to appear before
allowing the command to complete.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 19 Jul 2022 18:32:40 -0700] rev 49404
automation: set PATH when building on Windows
Sometime in the 6.2 release cycle the Windows building automation
broke. Building the wheel and even PyOxidizer based installers now fails
with:
```
Exception: PowerShell execution failed: error: subprocess-exited-with-error
Getting requirements to build wheel did not run successfully.
exit code: 1
[1 lines of output]
Unable to find a working hg binary to extract the version from the repository tags
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
```
I have a hunch this is a regression from upgrading pip in 1c00777702da,
but I haven't verified this. It may not be, as PyOxidizer has its own
bundled Python/pip. So maybe it is something in `setup.py`.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 17 Jul 2022 15:37:34 -0700] rev 49403
contrib: update Mercurial install in bootstrap environment
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 04 Jun 2022 11:18:32 -0700] rev 49402
automation: transition to Windows Server 2022
Let's keep our Windows build environment modern by upgrading to the
latest OS.
As part of the upgrade, we pick up a migration to EC2Launch Version 2.
This has a different config mechanism. So we need to port how we manage
the administrator password.
As part of migrating to the new YAML/JSON config file mechanism, we move
the code to the powershell script that is run when the instance first
launches. This ensures that the config is retained during the reboot we
perform as part of building the Windows AMI.
The motivation for this is I'm currently unable to build the Windows
2019 AMI due to an issue installing OpenSSH. This _just works_ on
Windows Server 2022. I have no clue what the root cause is. I think
it might have something to do with Microsoft not publishing the files
in the right location.
Differential Revision: https://phab.mercurial-scm.org/D12630
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Jun 2022 20:25:06 -0700] rev 49401
automation: refresh requirements
I'm hitting errors installing the old version of cffi due to an
apparent issue where older versions of cffi aren't compatible with
the modern Clang I'm using. So let's upgrade packages to unbreak
things and to keep things modern.
Differential Revision: https://phab.mercurial-scm.org/D12629
Raphaël Gomès <rgomes@octobus.net> [Wed, 17 Aug 2022 12:00:06 +0200] rev 49400
rust-status: ignored directories are now correctly only listed if opted into
This fixes the behavior of `hg purge` removing empty ignored directory even
without `--all` or `--ignored`.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 05 Aug 2022 14:18:13 +0100] rev 49399
test: show how purge removes ignored directories
Apparently the rust code path removes ignored directories
even though the pure code path doesn't.
Show this in tests.