Mercurial > public > mercurial-scm > hg-stable
diff mercurial/dirstate.py @ 48433:080151f18f3a
dirstate: make it mandatory to provide parentfiledata in `set_clean`
Gathering the mode, size and mtime, independently from determining that the file
is clean is a race-machine. So we just make these information required arguments.
(note that the data is still gathered in a racy way in practice, but at least
the API is no longer encouraging it.)
Differential Revision: https://phab.mercurial-scm.org/D11789
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 17 Nov 2021 20:26:14 +0100 |
parents | 9f1b9e128788 |
children | 6becd5773133 |
line wrap: on
line diff
--- a/mercurial/dirstate.py Mon Nov 22 15:58:51 2021 +0100 +++ b/mercurial/dirstate.py Wed Nov 17 20:26:14 2021 +0100 @@ -486,15 +486,12 @@ return ret @requires_no_parents_change - def set_clean(self, filename, parentfiledata=None): + def set_clean(self, filename, parentfiledata): """record that the current state of the file on disk is known to be clean""" self._dirty = True - if parentfiledata: - (mode, size, mtime) = parentfiledata - else: - (mode, size, mtime) = self._get_filedata(filename) if not self._map[filename].tracked: self._check_new_tracked_filename(filename) + (mode, size, mtime) = parentfiledata self._map.set_clean(filename, mode, size, mtime) if mtime > self._lastnormaltime: # Remember the most recent modification timeslot for status(),