mercurial/dirstate.py
changeset 47744 372ff4638cb4
parent 47742 f51aaa0f1485
child 47753 aca197f5ef7d
--- a/mercurial/dirstate.py	Sun Jul 18 22:45:18 2021 +0200
+++ b/mercurial/dirstate.py	Mon Jul 19 16:21:22 2021 +0200
@@ -775,7 +775,7 @@
                 if entry.merged_removed or entry.from_p2_removed:
                     source = self._map.copymap.get(f)
                     if entry.merged_removed:
-                        self.merge(f)
+                        self._merge(f)
                     elif entry.from_p2_removed:
                         self._otherparent(f)
                     if source is not None:
@@ -859,6 +859,23 @@
 
     def merge(self, f):
         '''Mark a file merged.'''
+        if self.pendingparentchange():
+            util.nouideprecwarn(
+                b"do not use `merge` inside of update/merge context."
+                b" Use `update_file`",
+                b'6.0',
+                stacklevel=2,
+            )
+        else:
+            util.nouideprecwarn(
+                b"do not use `merge` outside of update/merge context."
+                b"It should have been set by the update/merge code",
+                b'6.0',
+                stacklevel=2,
+            )
+        self._merge(f)
+
+    def _merge(self, f):
         if not self.in_merge:
             return self._normallookup(f)
         return self._otherparent(f)