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