--- a/mercurial/dirstateutils/timestamp.py Wed Nov 17 10:26:48 2021 +0100
+++ b/mercurial/dirstateutils/timestamp.py Wed Nov 17 12:24:00 2021 +0100
@@ -6,6 +6,7 @@
from __future__ import absolute_import
import functools
+import os
import stat
@@ -54,6 +55,19 @@
return self_subsec_nanos > other_subsec_nanos
+def get_fs_now(vfs):
+ """return a timestamp for "now" in the current vfs
+
+ This will raise an exception if no temporary files could be created.
+ """
+ tmpfd, tmpname = vfs.mkstemp()
+ try:
+ return mtime_of(os.fstat(tmpfd))
+ finally:
+ os.close(tmpfd)
+ vfs.unlink(tmpname)
+
+
def zero():
"""
Returns the `timestamp` at the Unix epoch.