diff -r 3d6eb119200d -r 08b060abd658 mercurial/dirstateutils/timestamp.py --- 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.