rebase keeps last modification time of DLL unchanged
Christian Franke
Christian.Franke@t-online.de
Thu Mar 8 20:38:00 GMT 2012
Corinna Vinschen wrote:
> On Mar 7 23:07, Christian Franke wrote:
>> The rebase tool does not change last modification timestamp of each
>> DLL even if its data has changed. This is likely because Windows
>> "may" not update the timestamp for files written through a memory
>> mapped view.
>>
>> Is this an intended behavior of rebase?
> Why should rebase change the timestamp? Apart from the rebasing, the
> DLL is still the same. If you want to know when it has been last
> rebased, you can look into the file header:
>
> $ objdump -p cygiconv-2.dll | grep 'Time/Date[^ ]'
> Time/Date Tue Mar 6 23:24:12 2012
>
It depends: Changing data without changing st_mtime avoids
(unneeded|required) file copies during incremental backups, rsync,
robocopy, ...
rebase does not explicitly (re)set the timestamp after rebasing. Is this
by design?
It relies on weakly defined Windows behavior: "When modifying a file
through a mapped view, the last modification timestamp *may* not be
updated automatically."
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366563.aspx
Christian
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list