# HG changeset patch # User Pierre-Yves David # Date 1676909609 -3600 # Node ID b583988c6c233c7a05fdaecb17abf6131de46409 # Parent 0be70c7b609c4f5a5a37e9029cef9b9a23f3a3b9 dirstate: have `running_status` warn when exiting with a dirty dirstate If running_status was started without the lock, all changes should have been explicitly written (with the lock) or invalidated before exiting the context. diff -r 0be70c7b609c -r b583988c6c23 mercurial/dirstate.py --- a/mercurial/dirstate.py Wed Feb 22 02:21:27 2023 +0100 +++ b/mercurial/dirstate.py Mon Feb 20 17:13:29 2023 +0100 @@ -267,6 +267,11 @@ if should_write: assert repo.currenttransaction() is tr self.write(tr) + elif not has_lock: + if self._dirty: + msg = b'dirstate dirty while exiting an isolated status context' + repo.ui.develwarn(msg) + self.invalidate() @contextlib.contextmanager @check_invalidated