[PATCH 0/3] Win32: nanosecond-precision file times
- From
Karsten Blees <karsten.blees@gmail.com>
- Date
- Feb 11, 2015, 23:49 UTC
- Message-ID
- <54DBEAA5.6000205@gmail.com>
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(-)
-- 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 msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com 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 msysgit+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.