comparison mercurial/dirstatemap.py @ 47974:4e6f27230aee

dirstate: introduce a `set_clean` method on dirstate's map and items This method is the "reverse" of "set possibly dirty", and can be used to more accurately other call that the dirstate was making. It is currently heavily influenced by its origin. Differential Revision: https://phab.mercurial-scm.org/D11421
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 02 Sep 2021 03:59:35 +0200
parents 5a6c1ef4bcac
children ffde999a3ea9
comparison
equal deleted inserted replaced
47973:2e0ff3947b05 47974:4e6f27230aee
159 self.filefoldmap.pop(normed, None) 159 self.filefoldmap.pop(normed, None)
160 160
161 def set_possibly_dirty(self, filename): 161 def set_possibly_dirty(self, filename):
162 """record that the current state of the file on disk is unknown""" 162 """record that the current state of the file on disk is unknown"""
163 self[filename].set_possibly_dirty() 163 self[filename].set_possibly_dirty()
164
165 def set_clean(self, filename, mode, size, mtime):
166 """mark a file as back to a clean state"""
167 entry = self[filename]
168 mtime = mtime & rangemask
169 size = size & rangemask
170 entry.set_clean(mode, size, mtime)
171 self.copymap.pop(filename, None)
172 self.nonnormalset.discard(filename)
164 173
165 def addfile( 174 def addfile(
166 self, 175 self,
167 f, 176 f,
168 mode=0, 177 mode=0,
922 """record that the current state of the file on disk is unknown""" 931 """record that the current state of the file on disk is unknown"""
923 entry = self[filename] 932 entry = self[filename]
924 entry.set_possibly_dirty() 933 entry.set_possibly_dirty()
925 self._rustmap.set_v1(filename, entry) 934 self._rustmap.set_v1(filename, entry)
926 935
936 def set_clean(self, filename, mode, size, mtime):
937 """mark a file as back to a clean state"""
938 entry = self[filename]
939 mtime = mtime & rangemask
940 size = size & rangemask
941 entry.set_clean(mode, size, mtime)
942 self._rustmap.set_v1(filename, entry)
943 self._rustmap.copymap().pop(filename, None)
944
927 def __setitem__(self, key, value): 945 def __setitem__(self, key, value):
928 assert isinstance(value, DirstateItem) 946 assert isinstance(value, DirstateItem)
929 self._rustmap.set_v1(key, value) 947 self._rustmap.set_v1(key, value)