X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 9 Mar 2012 09:43:07 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: rebase keeps last modification time of DLL unchanged Message-ID: <20120309084307.GA5159@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4F57DC0F DOT 2090401 AT t-online DOT de> <20120308093206 DOT GR5159 AT calimero DOT vinschen DOT de> <4F5918A2 DOT 4090707 AT t-online DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4F5918A2.4090707@t-online.de> User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Mar 8 21:37, Christian Franke wrote: > 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 Well, let me put it like this. Rebase just does its job. It doesn't actually care for the file timestamp, only for the file header timestamps. This is not by design, it's just as it is. So the next question is obvious. Do you think it should change the timestamp or not? Why? A patch is simple and I have it actually already waiting in the scenery. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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