# HG changeset patch # User Pierre-Yves David # Date 2021-07-18 21:42:22 # Node ID b0314d8deee1d8e10552d19af17075ec14e1298a # Parent 1168e54b727cbba760989d2d9a39c1582223c4dd dirstate: add a `set_possibly_dirty` method This method will be able to replace some usage of `normallookup` in the future. Differential Revision: https://phab.mercurial-scm.org/D11162 diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -506,6 +506,13 @@ class dirstate(object): self._updatedfiles.add(filename) self._normal(filename, parentfiledata=parentfiledata) + @requires_no_parents_change + def set_possibly_dirty(self, filename): + """record that the current state of the file on disk is unknown""" + self._dirty = True + self._updatedfiles.add(filename) + self._map.set_possibly_dirty(filename) + @requires_parents_change def update_file_p1( self, diff --git a/mercurial/dirstatemap.py b/mercurial/dirstatemap.py --- a/mercurial/dirstatemap.py +++ b/mercurial/dirstatemap.py @@ -168,6 +168,10 @@ class dirstatemap(object): normed = util.normcase(filename) self.filefoldmap.pop(normed, None) + def set_possibly_dirty(self, filename): + """record that the current state of the file on disk is unknown""" + self[filename].set_possibly_dirty() + def addfile( self, f, @@ -907,6 +911,12 @@ if rustmod is not None: f[normcase(name)] = name return f + def set_possibly_dirty(self, filename): + """record that the current state of the file on disk is unknown""" + entry = self[filename] + entry.set_possibly_dirty() + self._rustmap.set_v1(filename, entry) + def __setitem__(self, key, value): assert isinstance(value, DirstateItem) self._rustmap.set_v1(key, value)