Win32: nanosecond-precision file times
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 11 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | Win32: make FILETIME conversion functions publiccompat/ compat/ | +16 | 0 replies | |
| 2/3 | Win32: replace MSVCRT's fstat() with a Win32-based implementationcompat/ | +19 | 0 replies | |
| 3/3 | Win32: implement nanosecond-precision file timescompat/ compat/ config.mak.uname | +39 | 2 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
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.