changeset 47719:1168e54b727c

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
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 19 Jul 2021 00:29:36 +0200
parents 03ef0c8fa7d5
children b0314d8deee1
files mercurial/dirstate.py
diffstat 1 files changed, 18 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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: