Mads Kiilerich <mads@kiilerich.com> [Tue, 07 Mar 2023 16:25:51 +0100] rev 50303
cext: fix for PyLong refactoring in CPython 3.12
Compiling Mercurial with Python 3.12 a5 would fail with:
mercurial/cext/dirs.c: In function '_addpath':
mercurial/cext/dirs.c:19:44: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
19 | #define PYLONG_VALUE(o) ((PyLongObject *)o)->ob_digit[0]
| ^~
mercurial/cext/dirs.c:97:25: note: in expansion of macro 'PYLONG_VALUE'
97 | PYLONG_VALUE(val) += 1;
| ^~~~~~~~~~~~
mercurial/cext/dirs.c:19:44: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
19 | #define PYLONG_VALUE(o) ((PyLongObject *)o)->ob_digit[0]
| ^~
mercurial/cext/dirs.c:108:17: note: in expansion of macro 'PYLONG_VALUE'
108 | PYLONG_VALUE(val) = 1;
| ^~~~~~~~~~~~
mercurial/cext/dirs.c: In function '_delpath':
mercurial/cext/dirs.c:19:44: error: 'PyLongObject' {aka 'struct _longobject'} has no member named 'ob_digit'
19 | #define PYLONG_VALUE(o) ((PyLongObject *)o)->ob_digit[0]
| ^~
mercurial/cext/dirs.c:145:23: note: in expansion of macro 'PYLONG_VALUE'
145 | if (--PYLONG_VALUE(val) <= 0) {
| ^~~~~~~~~~~~
This was caused by
https://github.com/python/cpython/commit/c1b1f51cd1632f0b77dacd43092fb44ed5e053a9 .
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 27 Oct 2022 17:34:02 -0400] rev 50302
histedit: fix diff colors
The problem here is that indexing a bytestring gives you integers, not
chars, so the comparison to b'+' ends up being wrong.
We don't really have a way to test curses output, so no tests to
verify the correctness of this behaviour.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Mar 2023 05:49:56 +0100] rev 50301
dirstate: fix a potential traceback when in `copy` and `rename`
Before this changes, calling `hg copy` or `hg rename` could trigger a traceback
about using an invalidated dirstate. This wasn't caught by the test as it needed
the blackbox extension to preload the dirstate first in a way "refresh"
invalidates it.
Changing the context creation patterns fixes it.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 14 Mar 2023 14:08:38 +0000] rev 50300
dirstate: fix the bug in [status] dealing with committed&ignored directories
In particular, these directories can "infect" their sibling directories with
ignored status due to using a shared memoization cell by accident.
This fixes bug #6795.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Tue, 14 Mar 2023 14:01:47 +0000] rev 50299
tests: demonstrate a bug with committed&ignored dirs
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Mar 2023 12:04:25 +0100] rev 50298
rust: remove out-of-date comment
We've migrated to a newer version of Rust, so it doesn't make sense anymore.
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Mar 2023 12:00:25 +0100] rev 50297
rust: upgrade `rayon` dependency
This includes a potential soundness fix as well as some improvements to
performance which should be helpful.
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Mar 2023 11:58:37 +0100] rev 50296
rust: update zstd dependency
Let's try to be the most up-to-date for this cycle.
Fedora already has this version packaged, it's an added bonus.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 13 Mar 2023 14:19:02 +0000] rev 50295
tests: simplify a bit
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 13 Mar 2023 14:15:34 +0000] rev 50294
dirstate-v2: fix an incorrect handling of readdir errors
Make sure not to cache the results of a failed readdir call.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 10 Mar 2023 18:20:50 +0000] rev 50293
tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 10 Mar 2023 18:20:19 +0000] rev 50292
tests: add a rewriting step to detect EACCES errors
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Mar 2023 03:42:40 +0100] rev 50291
undo-files: cleanup legacy files when applicable
The "journal" code is much more compact in 6.4, and so is the "undo" files as a
result. However the previous version were much noisier, so let us cleanup undo
files from older version too.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 22:16:43 +0100] rev 50290
undo-files: clean existing files up before writing new one
the in the initial design of journal/undo interaction, ages ago, new file always
overwrote previous files. This is no longer the case for a long while, so it is
time to properly clean things up before writing new ones.
Otherwise, inconsistent "undo" state might exist on disk, leading `hg rollback`
to misbehave (more that intended).
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Mar 2023 03:31:21 +0100] rev 50289
undo-files: make the undo-prefix configurable in `cleanup_undo_files`
The transaction is configuration undo prefix, so we "need" it too.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 22:16:28 +0100] rev 50288
undo-files: no longer pass the `repo` to `cleanup_undo_files`
As foretold in the previous changesets, we no longer need a full repository
object here.