This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rebase keeps last modification time of DLL unchanged


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]