dirstate: deprecate the `normal` method in all cases
authorPierre-Yves David <pierre-yves.david@octobus.net>
Mon, 19 Jul 2021 00:29:36 +0200
changeset 47719 1168e54b727c
parent 47718 03ef0c8fa7d5
child 47720 b0314d8deee1
dirstate: deprecate the `normal` method in all cases All code have been migrated to the new APIs. Differential Revision: https://phab.mercurial-scm.org/D11161
mercurial/dirstate.py
--- a/mercurial/dirstate.py	Mon Jul 19 06:44:08 2021 +0200
+++ b/mercurial/dirstate.py	Mon Jul 19 00:29:36 2021 +0200
@@ -504,7 +504,7 @@
         """record that the current state of the file on disk is known to be clean"""
         self._dirty = True
         self._updatedfiles.add(filename)
-        self.normal(filename, parentfiledata=parentfiledata)
+        self._normal(filename, parentfiledata=parentfiledata)
 
     @requires_parents_change
     def update_file_p1(
@@ -702,6 +702,23 @@
         determined the file was clean, to limit the risk of the
         file having been changed by an external process between the
         moment where the file was determined to be clean and now."""
+        if self.pendingparentchange():
+            util.nouideprecwarn(
+                b"do not use `normal` inside of update/merge context."
+                b" Use `update_file` or `update_file_p1`",
+                b'6.0',
+                stacklevel=2,
+            )
+        else:
+            util.nouideprecwarn(
+                b"do not use `normal` outside of update/merge context."
+                b" Use `set_tracked`",
+                b'6.0',
+                stacklevel=2,
+            )
+        self._normal(f, parentfiledata=parentfiledata)
+
+    def _normal(self, f, parentfiledata=None):
         if parentfiledata:
             (mode, size, mtime) = parentfiledata
         else: