Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Jul 2021 13:47:21 +0300] rev 47907
fix: use obsolete.isenabled() to check for experimental.allowdivergence
Now that obsolete.isenabled() can also check if divergence is allowed, let's
use it for consistency. Other experimental.evolution options are already
checked via this function.
Differential Revision: https://phab.mercurial-scm.org/D11222
Anton Shestakov <av6@dwimlabs.net> [Wed, 28 Jul 2021 13:45:41 +0300] rev 47906
rebase: use obsolete.isenabled() to check for experimental.allowdivergence
Now that obsolete.isenabled() can also check if divergence is allowed, let's
use it for consistency. Other experimental.evolution options are already
checked via this function.
Differential Revision: https://phab.mercurial-scm.org/D11221
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Jul 2021 00:11:56 -0400] rev 47905
typing: add several assertions to dirstatemap to appease pytype
I think it's been mentioned in IRC that these can't be None in this case. This
fixes:
File "/mnt/c/Users/Matt/hg/mercurial/dirstatemap.py", line 213, in addfile: unsupported operand type(s) for &: 'None' and 'int' [unsupported-operands]
No attribute '__and__' on None or '__rand__' on int
Called from (traceback):
line 290, in reset_state
File "/mnt/c/Users/Matt/hg/mercurial/dirstatemap.py", line 214, in addfile: unsupported operand type(s) for &: 'None' and 'int' [unsupported-operands]
No attribute '__and__' on None or '__rand__' on int
Called from (traceback):
line 290, in reset_state
Differential Revision: https://phab.mercurial-scm.org/D11235
Kyle Lippincott <spectral@google.com> [Fri, 30 Apr 2021 16:00:40 -0700] rev 47904
tests: allow Google's internal builds of clang-format to be used
These builds do not actually include any Google-specific formatting changes; the
only reason they don't include the LLVM version number is due to a decision to
elide the version number from *all* LLVM/clang projects.
For most builds of clang-format, even "unofficial" ones, the LLVM version will
be displayed; example:
```
clang-format version 14.0.0 (https://github.com/llvm/llvm-project.git 1830ec94ac022ae0b6d6876fc2251e6b91e5931e)
```
The Google-internal build looks like this:
```
clang-format version google3-trunk (1830ec94ac022ae0b6d6876fc2251e6b91e5931e)
```
Differential Revision: https://phab.mercurial-scm.org/D10538
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 26 Oct 2021 18:53:58 +0530] rev 47903
Added signature for changeset 6ee0244fc1cf
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 26 Oct 2021 18:53:51 +0530] rev 47902
Added tag 5.9.3 for changeset 6ee0244fc1cf
Raphaël Gomès <rgomes@octobus.net> [Mon, 25 Oct 2021 17:57:01 +0200] rev 47901
relnotes: update release notes for upcoming 5.9.3
Differential Revision: https://phab.mercurial-scm.org/D11720
Raphaël Gomès <rgomes@octobus.net> [Thu, 21 Oct 2021 14:03:33 +0200] rev 47900
heptapod-ci: actually give pytest more time before timeout
`HGTEST_TIMEOUT` is overridden by `HGTEST_SLOWTIMEOUT` for tests marked as
slow, which `test-check-pytype.t` is. So this whole time the timeout was 1500s
(or 25 minutes), which is unfortunately not long enough for a *lot* of the
times it's run on the CI.
Differential Revision: https://phab.mercurial-scm.org/D11717
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 20 Oct 2021 18:44:26 +0100] rev 47899
tests: better determinism in test-chg.t
chg tests fail pretty often with "Sample count: *" line disappearing.
It disappears because the sample count is zero, in which case a custom message is printed.
This commit makes the test succeed in that case.
Differential Revision: https://phab.mercurial-scm.org/D11716
Raphaël Gomès <rgomes@octobus.net> [Tue, 19 Oct 2021 16:05:20 +0200] rev 47898
python: compatibility for python 3.11 (issue6604)
The `unittest._TextTestResult` alias has been removed.
The "new" name has been available since 3.2, and we only support 3.5.3+.
Differential Revision: https://phab.mercurial-scm.org/D11690
Raphaël Gomès <rgomes@octobus.net> [Wed, 20 Oct 2021 16:54:43 +0200] rev 47897
pyoxidizer: force pip to not use pep517 in order to be able to install hg
Mercurial is not (yet) a pep517 package, but the presence of a pyproject.toml
file tells newer-ish versions of pip that it should be one.
This is related to 58fe6d127a01, and fixes pyoxidizer builds for the Heptapod
CI.
Differential Revision: https://phab.mercurial-scm.org/D11710
Kyle Lippincott <spectral@google.com> [Tue, 19 Oct 2021 16:14:53 -0700] rev 47896
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Differential Revision: https://phab.mercurial-scm.org/D11706
Kyle Lippincott <spectral@google.com> [Tue, 19 Oct 2021 16:14:46 -0700] rev 47895
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Differential Revision: https://phab.mercurial-scm.org/D11705
Georges Racinet <georges.racinet@octobus.net> [Tue, 19 Oct 2021 19:05:41 +0200] rev 47894
rust-nodemap: backed out mitigation for issue 6554
This is a backout of changeset 3fffb48539ee.
Issue 6554 is now considered solved, hence its mitigation
has to be removed, if only for its performance cost.
Differential Revision: https://phab.mercurial-scm.org/D11703
Raphaël Gomès <rgomes@octobus.net> [Mon, 18 Oct 2021 17:11:48 +0200] rev 47893
rewrite: fix issue6599
Explanation inside.
Differential Revision: https://phab.mercurial-scm.org/D11685
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Oct 2021 21:17:31 +0530] rev 47892
Added signature for changeset 750920b18aaa
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Oct 2021 21:17:23 +0530] rev 47891
Added tag 5.9.2 for changeset 750920b18aaa
Raphaël Gomès <rgomes@octobus.net> [Tue, 28 Sep 2021 13:26:08 +0200] rev 47890
windows-ci: temporarily allow Windows jobs to fail
We have unfortunately ran out of free credit on the runners we were using from
OVH for the Windows CI. We will be disabling the two remaining ones on the 30th
of September, hence we need the CI to pass even if Windows jobs cannot start as
a temporary measure. Hopefully we can find another way of getting Windows
runners soon.
Differential Revision: https://phab.mercurial-scm.org/D11499
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Sep 2021 18:18:56 +0200] rev 47889
manifestlog: also monitor `00manifest.n` when applicable
This let the locarepo's file cache detect outdated nodemap docket and reload the
manifestlog after `localrepo.invalidate` when applicable.
The same problem than issue6554 could affect the Manifest too.
Differential Revision: https://phab.mercurial-scm.org/D11483
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Sep 2021 18:03:37 +0200] rev 47888
changelog: also monitor `00changelog.n` when applicable (issue6554)
This let the locarepo's file cache detect outdated nodemap docket and reload the
changelog after `localrepo.invalidate` when applicable.
Differential Revision: https://phab.mercurial-scm.org/D11482
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Sep 2021 21:18:50 +0200] rev 47887
persistent-nodemap: introduce a test to highlight possible race
Weakness in the current file caching of the changelog means that a writer can
end up using an outdated docket. This might result in "committed"
persistent-nodemap data from a previous writer to be overwritten by a later
writer. This break the strong "append only" assumption of the persistent nodemap
and can result in confused reader.
The race windows are quite narrow. See the test documentation for details.
The issues is fixed in the next changeset.
Differential Revision: https://phab.mercurial-scm.org/D11481
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Sep 2021 21:18:44 +0200] rev 47886
test: enable share-safe in test-persistent-nodemap
We will use some share in this test and I would rather have them safe.
Differential Revision: https://phab.mercurial-scm.org/D11480
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Sep 2021 18:02:07 +0200] rev 47885
filecache: abstract the fetching of the list of tracked file
We will need it for a coming fix that will requires to check a variable list of
file for the changelog.
Differential Revision: https://phab.mercurial-scm.org/D11479
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 20 Sep 2021 18:18:15 +0200] rev 47884
persistent-nodemap: use quiet upgrade in tests
This make them less verbose while keeping the important information in the
checked output.
Differential Revision: https://phab.mercurial-scm.org/D11478
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 20 Sep 2021 18:08:46 +0200] rev 47883
persistent-nodemap: fix a typo in a test comment
oops.
Differential Revision: https://phab.mercurial-scm.org/D11477
Raphaël Gomès <rgomes@octobus.net> [Mon, 20 Sep 2021 15:16:10 +0200] rev 47882
patchbomb: fix traceback on outgoing when not specifying revisions
A user reported that `hg email -n -o` raised with the following traceback:
```
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.8.12 (default, Sep 13 2021, 22:12:54) [GCC 7.5.0]
** Mercurial Distributed SCM (version 5.9.1)
** Extensions loaded: patchbomb
Traceback (most recent call last):
File "/usr/pkg/bin/hg", line 61, in <module>
dispatch.run()
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 144, in run
status = dispatch(req)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 250, in dispatch
status = _rundispatch(req)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 294, in _rundispatch
ret = _runcatch(req) or 0
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 470, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 480, in _callcatch
return scmutil.callcatch(ui, func)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/scmutil.py", line 153, in callcatch
return func()
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 460, in _runcatchfunc
return _dispatch(req)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 1273, in _dispatch
return runcommand(
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 918, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 1285, in _runcommand
return cmdfunc()
File "/usr/pkg/lib/python3.8/site-packages/mercurial/dispatch.py", line 1271, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/pkg/lib/python3.8/site-packages/mercurial/util.py", line 1886, in check
return func(*args, **kwargs)
File "/usr/pkg/lib/python3.8/site-packages/hgext/patchbomb.py", line 817, in email
revs = _getoutgoing(repo, dest, revs)
File "/usr/pkg/lib/python3.8/site-packages/hgext/patchbomb.py", line 537, in _getoutgoing
safe_paths = [urlutil.hidepassword(p.rawloc) for p in paths]
File "/usr/pkg/lib/python3.8/site-packages/hgext/patchbomb.py", line 537, in <listcomp>
safe_paths = [urlutil.hidepassword(p.rawloc) for p in paths]
File "/usr/pkg/lib/python3.8/site-packages/mercurial/utils/urlutil.py", line 501, in get_push_paths
msg %= dest
TypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'NoneType'
```
This is due to patchbomb passing `[None]` in the `dests` parameter of the
multi-paths outgoing function, we fix this in this change and add a
non-regression test.
Differential Revision: https://phab.mercurial-scm.org/D11456
Raphaël Gomès <rgomes@octobus.net> [Thu, 09 Sep 2021 10:42:28 +0200] rev 47881
pep-517: remove the `build-backend` key to allow for users to build extensions
PEP 517 changed how projects should define their build dependencies.
The presence of a `pyproject.toml` file changes the behavior of `pip` to
conform to PEP 517.
Since we haven't updated the `setup.py` file yet (I'm not even sure we're not
an edge case which would make it harder/impossible, I have not tried yet), this
is a workaround to issue6589: it allows users to pass `--no-use-pep517` to pip
to revert to the legacy installer. The build backend is simply assumed to be
the `build_meta:__legacy__` one.
Differential Revision: https://phab.mercurial-scm.org/D11393
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Sep 2021 21:04:21 +0200] rev 47880
tests: make removeemptydirs more portable
The behavior of pwd change from one system (i.e. default shell/sh) from one
system to another so we use fuzzy matching for the output we do not care and we
use narrower command call to highlight what we are trying to test here.
Differential Revision: https://phab.mercurial-scm.org/D11449