util: extract stub function to get mtime with second accuracy
This function is trivial but will need a long comment why it can't use
st.st_mtime. See the next patch for details.
--- a/mercurial/context.py Mon Oct 05 14:37:59 2015 -0700
+++ b/mercurial/context.py Sun Oct 04 22:25:29 2015 +0900
@@ -1690,7 +1690,7 @@
def date(self):
t, tz = self._changectx.date()
try:
- return (int(self._repo.wvfs.lstat(self._path).st_mtime), tz)
+ return (util.statmtimesec(self._repo.wvfs.lstat(self._path)), tz)
except OSError as err:
if err.errno != errno.ENOENT:
raise
--- a/mercurial/dirstate.py Mon Oct 05 14:37:59 2015 -0700
+++ b/mercurial/dirstate.py Sun Oct 04 22:25:29 2015 +0900
@@ -428,7 +428,7 @@
def normal(self, f):
'''Mark a file normal and clean.'''
s = os.lstat(self._join(f))
- mtime = int(s.st_mtime)
+ mtime = util.statmtimesec(s)
self._addpath(f, 'n', s.st_mode,
s.st_size & _rangemask, mtime & _rangemask)
if f in self._copymap:
@@ -998,7 +998,7 @@
if not st and state in "nma":
dadd(fn)
elif state == 'n':
- mtime = int(st.st_mtime)
+ mtime = util.statmtimesec(st)
if (size >= 0 and
((size != st.st_size and size != st.st_size & _rangemask)
or ((mode ^ st.st_mode) & 0o100 and checkexec))
--- a/mercurial/util.py Mon Oct 05 14:37:59 2015 -0700
+++ b/mercurial/util.py Sun Oct 04 22:25:29 2015 +0900
@@ -952,6 +952,9 @@
except AttributeError:
return os.stat(fp.name)
+def statmtimesec(st):
+ return int(st.st_mtime)
+
# File system features
def checkcase(path):