Sun, 05 Feb 2023 09:25:23 +0100 largefiles: use `hacky_extension_update_file` in `updatelfiles`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 05 Feb 2023 09:25:23 +0100] rev 50017
largefiles: use `hacky_extension_update_file` in `updatelfiles` This is what the function is meant for.
Sun, 05 Feb 2023 08:38:43 +0100 largefiles: use `hacky_extension_update_file` in `synclfdirstate`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 05 Feb 2023 08:38:43 +0100] rev 50016
largefiles: use `hacky_extension_update_file` in `synclfdirstate` This is what the function is meant for.
Sun, 05 Feb 2023 08:37:33 +0100 largefiles: use `hacky_extension_update_file` in `openlfdirstate`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 05 Feb 2023 08:37:33 +0100] rev 50015
largefiles: use `hacky_extension_update_file` in `openlfdirstate` This is what the function is meant for.
Sat, 04 Feb 2023 09:08:26 +0100 win32text: make the hacky call cover more cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 04 Feb 2023 09:08:26 +0100] rev 50014
win32text: make the hacky call cover more cases Now that I understand what this is doing, It seems like the case for `p1_tracked` were covered by neither the code nor the test. Now the code cover it at least.
Wed, 25 Jan 2023 12:47:55 +0100 win32text: drop the `changing_parents` context in revert upgrade
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Jan 2023 12:47:55 +0100] rev 50013
win32text: drop the `changing_parents` context in revert upgrade We are not changing parents here, so let us not pretend we do.
Wed, 15 Feb 2023 00:29:39 +0100 win32text: clean up and clarify the post-revert hack of dirstate
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Feb 2023 00:29:39 +0100] rev 50012
win32text: clean up and clarify the post-revert hack of dirstate The change is unrelated to changing parents and should not be a in a "changing_parents" context. This call is quite hacky, but now it is at least explicitly hacky. We will drop the `changing_parents` context in the next changesets, but we kept this change simple to help readability.
Wed, 15 Feb 2023 00:26:08 +0100 dirstate: introduce a `hacky_extension_update_file` method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Feb 2023 00:26:08 +0100] rev 50011
dirstate: introduce a `hacky_extension_update_file` method See inline documentation for details.
Tue, 07 Feb 2023 09:36:35 +0100 mq: properly take the wlock during the full qfold operation
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Feb 2023 09:36:35 +0100] rev 50010
mq: properly take the wlock during the full qfold operation Otherwise the operation could be raced… for unknown result.
Sat, 04 Feb 2023 11:46:57 +0100 locking: hold the wlock for the full duration of the "keyword demo"
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 04 Feb 2023 11:46:57 +0100] rev 50009
locking: hold the wlock for the full duration of the "keyword demo" The risk of racing the demo is low, since it seems to create its own repository on the fly. However it is clearer and more consistent.
Sun, 05 Feb 2023 16:54:26 +0100 locking: grab the wlock before touching the dirstate in `perfdirstatewrite`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 05 Feb 2023 16:54:26 +0100] rev 50008
locking: grab the wlock before touching the dirstate in `perfdirstatewrite` If we touch the dirstate, we should hold the `wlock`.
Tue, 13 Dec 2022 04:22:19 +0100 locking: take the `wlock` for the full `hg addremove` duration
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 04:22:19 +0100] rev 50007
locking: take the `wlock` for the full `hg addremove` duration Otherwise, there is a race condition window between the time we resolve the file to addremove with the matcher and the time we lock the repo and modify the dirstate. For example, the working copy might have been updated away, or purged, and the matched files would no longer be correct.
Tue, 13 Dec 2022 16:26:13 +0100 locking: take the `wlock` for the full `hg forget` duration
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 16:26:13 +0100] rev 50006
locking: take the `wlock` for the full `hg forget` duration Otherwise, there is a race condition window between the time we resolve the file to forget with the matcher and the time we lock the repo and modify the dirstate. For example, the working copy might have been updated away, or purged, and the matched files would no longer be correct.
Tue, 13 Dec 2022 04:22:46 +0100 locking: take the `wlock` for the full `hg remove` duration
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 04:22:46 +0100] rev 50005
locking: take the `wlock` for the full `hg remove` duration Otherwise, there is a race condition window between the time we resolve the file to remove with the matcher and the time we lock the repo and modify the dirstate. For example, the working copy might have been updated away, or purged, and the matched files would no longer be correct.
Tue, 13 Dec 2022 04:21:27 +0100 locking: take the `wlock` for the full `hg add` duration
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Dec 2022 04:21:27 +0100] rev 50004
locking: take the `wlock` for the full `hg add` duration Otherwise, there is a race condition window between the time we resolve the file to add with the matcher and the time we lock the repo and modify the dirstate. For example, the working copy might have been updated away, or purged, and the matched files would no longer be correct.
Mon, 06 Feb 2023 01:22:01 +0100 dirstate: drop some very fishy looking piece of code
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Feb 2023 01:22:01 +0100] rev 50003
dirstate: drop some very fishy looking piece of code This piece of code is marking the **real** dirstate file as a temporary transaction file. This means it get deleted on transaction rollback. This this quite wrong, especially as the comment points out some `dirstate.pending` motivation and the `.pending` file should already be fully managed by the transaction. The only ready I can think of this behavior not having awful results right now is because other transaction logic restore backed up content above the one that got wrongfully deleted. Let us stop doing this anyway, All tests seems happy.
(0) -30000 -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 tip