changeset 48140:a8ff00ad290b

dirstatemap: add a common `_insert_entry` method for dirstatemap This method is called to add a new DirstateItem to the map. Each variant have a different implementation (which is … the point). Differential Revision: https://phab.mercurial-scm.org/D11573
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 01 Oct 2021 23:13:44 +0200
parents ced8cf9c4905
children a39192fc7c56
files mercurial/dirstatemap.py
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/dirstatemap.py	Fri Oct 01 19:14:09 2021 +0200
+++ b/mercurial/dirstatemap.py	Fri Oct 01 23:13:44 2021 +0200
@@ -101,6 +101,12 @@
     def _refresh_entry(self, f, entry):
         """record updated state of an entry"""
 
+    def _insert_entry(self, f, entry):
+        """add a new dirstate entry (or replace an unrelated one)
+
+        The fact it is actually new is the responsability of the caller
+        """
+
     ### method to manipulate the entries
 
     def set_untracked(self, f):
@@ -403,6 +409,9 @@
         if not entry.any_tracked:
             self._map.pop(f, None)
 
+    def _insert_entry(self, f, entry):
+        self._map[f] = entry
+
     def set_possibly_dirty(self, filename):
         """record that the current state of the file on disk is unknown"""
         self[filename].set_possibly_dirty()
@@ -784,6 +793,9 @@
             else:
                 self._map.addfile(f, entry)
 
+        def _insert_entry(self, f, entry):
+            self._map.addfile(f, entry)
+
         def set_possibly_dirty(self, filename):
             """record that the current state of the file on disk is unknown"""
             entry = self[filename]