# HG changeset patch # User Pierre-Yves David # Date 1676410044 -3600 # Node ID 1f28172cfce97a988296980cba7c4fb5564f547a # Parent 637d46c5b1fab70b09a1c0cf7b27176d5ccfd94e debugrebuilddirstate: double check that no transaction is open Since transaction impact dirstate write, we make sure nobody is trying anything strange with this internal command. diff -r 637d46c5b1fa -r 1f28172cfce9 mercurial/debugcommands.py --- a/mercurial/debugcommands.py Tue Feb 14 22:26:23 2023 +0100 +++ b/mercurial/debugcommands.py Tue Feb 14 22:27:24 2023 +0100 @@ -3128,6 +3128,9 @@ """ ctx = scmutil.revsingle(repo, rev) with repo.wlock(): + if repo.currenttransaction() is not None: + msg = b'rebuild the dirstate outside of a transaction' + raise error.ProgrammingError(msg) dirstate = repo.dirstate changedfiles = None # See command doc for what minimal does.