Mercurial > public > mercurial-scm > hg-stable
diff mercurial/dirstatemap.py @ 49686:fc8e37c380d3 stable
dirstate: add a synchronisation point before doing a full dirstate read
This will be useful to test some race conditions around the dirstate.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 25 Feb 2023 01:07:44 +0100 |
parents | ecd28d89c29e |
children | 2be6d5782728 |
line wrap: on
line diff
--- a/mercurial/dirstatemap.py Tue Feb 28 12:15:19 2023 +0100 +++ b/mercurial/dirstatemap.py Sat Feb 25 01:07:44 2023 +0100 @@ -10,6 +10,7 @@ error, pathutil, policy, + testing, txnutil, util, ) @@ -276,7 +277,9 @@ self._opener.join(self._filename) ) + testing.wait_on_cfg(self._ui, b'dirstate.pre-read-file') if self._use_dirstate_v2: + if not self.docket.uuid: return st = self._opener.read(self.docket.data_filename()) @@ -541,6 +544,7 @@ self._opener.join(self._filename) ) + testing.wait_on_cfg(self._ui, b'dirstate.pre-read-file') if self._use_dirstate_v2: if self.docket.uuid: # TODO: use mmap when possible