Mercurial > public > mercurial-scm > hg
diff mercurial/util.py @ 36781:ffa3026d4196
cleanup: use stat_result[stat.ST_MTIME] instead of stat_result.st_mtime
The latter is floating point by default, and we've been doing
os.stat_float_times(False). Unfortunately, os.stat_float_times was
removed between Python 3.7.0a1 and 3.7.0b2, so we have to stop using
it.
Differential Revision: https://phab.mercurial-scm.org/D2696
author | Augie Fackler <augie@google.com> |
---|---|
date | Mon, 05 Mar 2018 12:30:20 -0500 |
parents | ca201470abb4 |
children | 86ba6e3eba4e |
line wrap: on
line diff
--- a/mercurial/util.py Mon Mar 05 15:07:32 2018 -0500 +++ b/mercurial/util.py Mon Mar 05 12:30:20 2018 -0500 @@ -1567,7 +1567,8 @@ newstat = filestat.frompath(dest) if newstat.isambig(oldstat): # stat of copied file is ambiguous to original one - advanced = (oldstat.stat.st_mtime + 1) & 0x7fffffff + advanced = ( + oldstat.stat[stat.ST_MTIME] + 1) & 0x7fffffff os.utime(dest, (advanced, advanced)) except shutil.Error as inst: raise Abort(str(inst)) @@ -1963,8 +1964,8 @@ # avoided, comparison of size, ctime and mtime is enough # to exactly detect change of a file regardless of platform return (self.stat.st_size == old.stat.st_size and - self.stat.st_ctime == old.stat.st_ctime and - self.stat.st_mtime == old.stat.st_mtime) + self.stat[stat.ST_CTIME] == old.stat[stat.ST_CTIME] and + self.stat[stat.ST_MTIME] == old.stat[stat.ST_MTIME]) except AttributeError: pass try: @@ -2003,7 +2004,7 @@ S[n].mtime", even if size of a file isn't changed. """ try: - return (self.stat.st_ctime == old.stat.st_ctime) + return (self.stat[stat.ST_CTIME] == old.stat[stat.ST_CTIME]) except AttributeError: return False @@ -2018,7 +2019,7 @@ Otherwise, this returns True, as "ambiguity is avoided". """ - advanced = (old.stat.st_mtime + 1) & 0x7fffffff + advanced = (old.stat[stat.ST_MTIME] + 1) & 0x7fffffff try: os.utime(path, (advanced, advanced)) except OSError as inst: @@ -2069,7 +2070,7 @@ newstat = filestat.frompath(filename) if newstat.isambig(oldstat): # stat of changed file is ambiguous to original one - advanced = (oldstat.stat.st_mtime + 1) & 0x7fffffff + advanced = (oldstat.stat[stat.ST_MTIME] + 1) & 0x7fffffff os.utime(filename, (advanced, advanced)) else: rename(self._tempname, filename)