dirstate: use `dirstate.change_files` to scope the change in `automv`
authorPierre-Yves David <pierre-yves.david@octobus.net>
Wed, 14 Dec 2022 00:52:06 +0100
changeset 50043 5cfc48354d0f
parent 50042 237e9d2e1c71
child 50044 e8c170a6571d
dirstate: use `dirstate.change_files` to scope the change in `automv` This is... mostly... the way.
hgext/automv.py
--- a/hgext/automv.py	Wed Dec 14 00:47:22 2022 +0100
+++ b/hgext/automv.py	Wed Dec 14 00:52:06 2022 +0100
@@ -73,7 +73,13 @@
 
     with repo.wlock():
         if renames is not None:
-            scmutil._markchanges(repo, (), (), renames)
+            with repo.dirstate.changing_files(repo):
+                # XXX this should be wider and integrated with the commit
+                # transaction. At the same time as we do the `addremove` logic
+                # for commit.  However we can't really do better with the
+                # current extension structure, and this is not worse than what
+                # happened before.
+                scmutil._markchanges(repo, (), (), renames)
         return orig(ui, repo, *pats, **pycompat.strkwargs(opts))