diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -552,6 +552,14 @@ possibly_dirty=possibly_dirty, parentfiledata=parentfiledata, ) + if ( + parentfiledata is not None + and parentfiledata[2] > self._lastnormaltime + ): + # Remember the most recent modification timeslot for status(), + # to make sure we won't miss future size-preserving file content + # modifications that happen within the same timeslot. + self._lastnormaltime = parentfiledata[2] @requires_parents_change def update_file(