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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 20:16:17 +0100] rev 50287
undo-files: relies on a explicit list of possible undo files
Instead of infering the list of undo files from the `_journalfiles` method on
`localrepository`, we explicitly have the list of file in a constant next to
the cleanup code.
In practice this does not change much as `_journalfiles` is already returning
the same "static" list and no internal or extensions extensions seems to
actually wrap that.
In addition, that list is not "too short" for cleanup, in case we need to
cleanup undo files from older version of Mercurial that used to use more of
them. this will be dealt with in a later changesets.
This change is a step toward our goal to use the `cleanup_undo_files` within
the transaction. The transaction has no reference to the `repo` object, so we
need to move toward `cleanup_undo_files` not having one either.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 21:03:45 +0100] rev 50286
undo-files: move the undo cleanup code in the transaction module
Now that undo creation is gathered in the transaction module, let us move the code cleaning them up there too.
This will be useful to better clean previous undo files up before creating new
ones.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 19:39:35 +0100] rev 50285
undo-files: drop the old undo rename logic
It is no longer necessary
I am not changing the transaction.__init__ signature since we are on stable
right now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 19:22:34 +0100] rev 50284
undo-files: have the transaction directly tracks and manages journal rename
This is much simpler this way.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 19:19:27 +0100] rev 50283
undo-files: add a undoname closure to the _write_undo method
We will also needs it when the transaction will take care of the other journal
files, which is soon™.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 13:31:04 +0100] rev 50282
undo-files: cleanup backup when cleaning undos
Previously, the backups were left behind, by operation cleaning the undo's like
strip, narrow and stream clone.
The remaining elevant in the room is the transaction itself, who does not
properly cleanup undo backup before copying the new ones.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 13:30:41 +0100] rev 50281
undo-files: factor the vfs map in a repository property
We define it in multiple locations and inconsistencies are appearing. So we now
have a single definition point.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 13:22:47 +0100] rev 50280
undo-files: add a utility function to read the backup-files definition
We will need it in multiple places. so lets factor the logic around.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 13:05:43 +0100] rev 50279
undo-files: use the cleanup function in streamclone
Lets use the same code, so that we can fix things only once.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 13:05:08 +0100] rev 50278
undo-files: also remove the undo.backupfiles
The undo.backupfiles is dealt is directly managed by the transaction instead of
going through the `localrepo.undofiles`. We start doing minimal management for
it before using `cleanup_undo_files` on more situation. Proper handling of it
is an intermediate goal of this series.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 13:02:16 +0100] rev 50277
undo-files: use the cleanup function in narrow
Lets use the same code, so that we can fix things only once.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Mar 2023 12:57:46 +0100] rev 50276
undo-files: extract the cleanup code from strip in a function
This logic is duplicated in multiple places and it missing some important parts.
So lets start dealing with the duplication first.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 07 Mar 2023 23:38:14 -0500] rev 50275
run-tests: fix a crash when using the coverage options
35bf7f23b84c attempted to transition away from `distutils`, but the `packaging`
code lacks `StrictVersion`. I have no idea when `packaging.version` became
available, but I have it in python 3.6, so that should be good enough. For some
reason, the import checker thinks this is a local import, and needs help to
decide otherwise.
Alternately we could ditch the version check entirely, because `coverage` is
currently at 7.2.1, and the original check was added back in 2010.