From: Jonathan Nieder Date: Wed, 04 Oct 2017 02:23:52 GMT Subject: Re: Git for Windows: mingw.c's strange usage of creation time as ctime? Message-ID: <20171004022352.GJ19555@aiede.mtv.corp.google.com> In-Reply-To: <08983090-07d2-cfe4-dd90-ab4887b83893@syntevo.com> +git-for-windows Hi Marc, Marc Strapetz wrote: > compat/mingw.c assigns the Windows file creation time [1] to Git's > ctime fields at line 591 and at line 705: > > buf->st_ctime = filetime_to_time_t(&(fdata.ftCreationTime)); > > ftCreationTime > ftLastWriteTime is actually possible after copying > a file, so it makes sense to include this timestamp somehow in the > Index, but I think it would be better to use the maximum of > ftLastWriteTime and ftCreationTime here which is less confusing and > closer to Unix's ctime: > > buf->st_ctime = max(buf->st_mtime, > filetime_to_time_t(&(fdata.ftCreationTime)); Can you say more about the practical effect? Is this causing a bug in practice, is it a bug waiting to happen, or is it making the code difficult to understand without any ill effect expected at run time? (Any of those three is a valuable kind of feedback to offer --- I'm just trying to figure out which one you mean.) By the way, do you have core.trustctime set to true or false? Thanks, Jonathan > -Marc > > [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa365739(v=vs.85).aspx