Mercurial > hg
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) |