dirstate: explicitly write the dirstate after `keyword` "overwrite"
authorPierre-Yves David <pierre-yves.david@octobus.net>
Mon, 13 Feb 2023 22:53:54 +0100
changeset 49998 44528f4a4d53
parent 49997 981d2f132935
child 49999 637d46c5b1fa
dirstate: explicitly write the dirstate after `keyword` "overwrite" I am working on making the dirstate write patterns more predictable. This patch is part of a small series of similar patches that adds a explicit dirstate write in a handful of location where the dirstate is updated "a bit in a strange way". With this explicit write, we are no longer relying on implicite write of the dirstate on `wlock` release. This make the world a better place.
hgext/keyword.py
--- a/hgext/keyword.py	Mon Feb 13 23:33:27 2023 +0100
+++ b/hgext/keyword.py	Mon Feb 13 22:53:54 2023 +0100
@@ -442,6 +442,7 @@
         if status.modified or status.added or status.removed or status.deleted:
             raise error.Abort(_(b'outstanding uncommitted changes'))
         kwt.overwrite(wctx, status.clean, True, expand)
+        repo.dirstate.write(repo.currenttransaction())
 
 
 @command(