662 if entry is None: |
662 if entry is None: |
663 self.addfile(filename, added=True) |
663 self.addfile(filename, added=True) |
664 new = True |
664 new = True |
665 elif not entry.tracked: |
665 elif not entry.tracked: |
666 entry.set_tracked() |
666 entry.set_tracked() |
667 self._rustmap.set_v1(filename, entry) |
667 self._rustmap.set_dirstate_item(filename, entry) |
668 new = True |
668 new = True |
669 else: |
669 else: |
670 # XXX This is probably overkill for more case, but we need this to |
670 # XXX This is probably overkill for more case, but we need this to |
671 # fully replace the `normallookup` call with `set_tracked` one. |
671 # fully replace the `normallookup` call with `set_tracked` one. |
672 # Consider smoothing this in the future. |
672 # Consider smoothing this in the future. |
947 |
947 |
948 def set_possibly_dirty(self, filename): |
948 def set_possibly_dirty(self, filename): |
949 """record that the current state of the file on disk is unknown""" |
949 """record that the current state of the file on disk is unknown""" |
950 entry = self[filename] |
950 entry = self[filename] |
951 entry.set_possibly_dirty() |
951 entry.set_possibly_dirty() |
952 self._rustmap.set_v1(filename, entry) |
952 self._rustmap.set_dirstate_item(filename, entry) |
953 |
953 |
954 def set_clean(self, filename, mode, size, mtime): |
954 def set_clean(self, filename, mode, size, mtime): |
955 """mark a file as back to a clean state""" |
955 """mark a file as back to a clean state""" |
956 entry = self[filename] |
956 entry = self[filename] |
957 mtime = mtime & rangemask |
957 mtime = mtime & rangemask |
958 size = size & rangemask |
958 size = size & rangemask |
959 entry.set_clean(mode, size, mtime) |
959 entry.set_clean(mode, size, mtime) |
960 self._rustmap.set_v1(filename, entry) |
960 self._rustmap.set_dirstate_item(filename, entry) |
961 self._rustmap.copymap().pop(filename, None) |
961 self._rustmap.copymap().pop(filename, None) |
962 |
962 |
963 def __setitem__(self, key, value): |
963 def __setitem__(self, key, value): |
964 assert isinstance(value, DirstateItem) |
964 assert isinstance(value, DirstateItem) |
965 self._rustmap.set_v1(key, value) |
965 self._rustmap.set_dirstate_item(key, value) |