Skip to content

Win32: nanosecond-precision file times

Karsten Blees git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3Win32: make FILETIME conversion functions publiccompat/mingw.c compat/mingw.h+16 -160 replies
2/3Win32: replace MSVCRT's fstat() with a Win32-based implementationcompat/mingw.c+19 -90 replies
3/3Win32: implement nanosecond-precision file timescompat/mingw.c compat/mingw.h config.mak.uname+39 -202 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] Win32: nanosecond-precision file times

This patch series was inspired by the problem that Git does not detect changed file content if st_size, st_mtime and st_ctime are unchanged. This was apparently caused by VSS2Git resetting mtime to a value in the past. [1]

I believe (or rather hope) that all involved in the discussion agree that Git cannot reasonably be expected to detect changed file content if file time(s) are reset on purpose.

However, some users have expressed concerns that 'same size and mtime' [2] may theoretically happen by chance in daily operation.

This patch series adopts POSIX 2013 'struct timespec' file times to make this practically impossible, at least on NTFS with 100ns file time resolution.

Cheers,
Karsten

[1] https://github.com/msysgit/git/issues/312
[2] Note that st_ctime of a file never changes on Windows, as it means 'creation time' rather than 'change status time'.

Karsten Blees (3):
Win32: make FILETIME conversion functions public
Win32: replace MSVCRT's fstat() with a Win32-based implementation
Win32: implement nanosecond-precision file times

 compat/mingw.c   | 56 +++++++++++++++++++++++++-------------------------------
 compat/mingw.h   | 55 +++++++++++++++++++++++++++++++++++++++++++++----------
 config.mak.uname |  4 ++--
 3 files changed, 72 insertions(+), 43 deletions(-)
Signature · 21 lines
2.3.0.3.ge7778af

-- 
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***
*** Please avoid top-posting. ***
The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free.

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, and view previous threads, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Git for Windows" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.