From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: vc-cvs-parse-entry Date: Tue, 29 Aug 2006 17:06:50 -0400 Message-ID: References: <44F4A8D0.6090304@gmx.at> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1156885645 358 80.91.229.2 (29 Aug 2006 21:07:25 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 29 Aug 2006 21:07:25 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 29 23:07:20 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GIAnc-0008Bo-NF for ged-emacs-devel@m.gmane.org; Tue, 29 Aug 2006 23:07:09 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GIAnc-0002u4-9j for ged-emacs-devel@m.gmane.org; Tue, 29 Aug 2006 17:07:08 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GIAnP-0002rS-9d for emacs-devel@gnu.org; Tue, 29 Aug 2006 17:06:55 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GIAnM-0002jc-3f for emacs-devel@gnu.org; Tue, 29 Aug 2006 17:06:54 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GIAnL-0002jP-Ux for emacs-devel@gnu.org; Tue, 29 Aug 2006 17:06:51 -0400 Original-Received: from [209.226.175.74] (helo=tomts20-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GIAwb-0001OC-El for emacs-devel@gnu.org; Tue, 29 Aug 2006 17:16:25 -0400 Original-Received: from localhost ([70.55.145.157]) by tomts20-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20060829210650.SQHJ16051.tomts20-srv.bellnexxia.net@localhost>; Tue, 29 Aug 2006 17:06:50 -0400 Original-Received: by localhost (Postfix, from userid 20848) id 6CA1F8E4E; Tue, 29 Aug 2006 17:06:50 -0400 (EDT) Original-To: martin rudalics In-Reply-To: <44F4A8D0.6090304@gmx.at> (martin rudalics's message of "Tue, 29 Aug 2006 22:51:28 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:59082 Archived-At: >> What system is that (w32?)? > In GNU Emacs 22.0.50.1 (i386-mingw-windows98.3000) Then it's a known problem that's pretty hard to fix: w32 handles DST by changing the definition of "time 0", so during the DST-change things behave as if all the files's timestamps had been changed by 1 hour. So there really is a 1-hour difference between what the CVS/Entries file says and what the file's time stamp says. We could try to be more clever with such situations, but since it's basically a case of braindamage in the w32 "spec" I'd rather not bother. IIRC "cvs update" will fix things for you. Stefan PS: Note that last I heard `cvs status' has to send the file over to the server in order to figure out that it's up-to-date, because it uses the exact same algorithm as vc-cvs.el to decide whether a file was touched or not. You can figure that out with "cvs -t status": % cvs -t status INSTALL.CVS -> main: Session ID is Mg0eb0F9FW12DMKr -> main loop with CVSROOT=/sources/emacs -> open_connection_to_server (cvs.sv.gnu.org:/sources/emacs) -> Starting server: ssh-cvs cvs.sv.gnu.org cvs server -> rename(CVS/Entries.Backup,CVS/Entries) -> unlink_file(CVS/Entries.Log) S -> serve_directory (.) S -> dirswitch (., /sources/emacs/emacs) S -> do_cvs_command (status) S -> server_notify() =================================================================== File: INSTALL.CVS Status: Up-to-date Working revision: 1.7 Repository revision: 1.7 /sources/emacs/emacs/INSTALL.CVS,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) S -> server_pathname_check (INSTALL.CVS) S -> Reader_Lock(/sources/emacs/emacs) S -> Simple_Lock_Cleanup() -> close_connection_to_server () S -> Lock_Cleanup() S -> Simple_Lock_Cleanup() S -> server_cleanup() % touch INSTALL.CVS % cvs -t status INSTALL.CVS -> main: Session ID is 0Ihv3mbkCYccDMKr -> main loop with CVSROOT=/sources/emacs -> open_connection_to_server (cvs.sv.gnu.org:/sources/emacs) -> Starting server: ssh-cvs cvs.sv.gnu.org cvs server -> Sending file `INSTALL.CVS' to server S -> serve_directory (.) -> Register(INSTALL.CVS, 1.7, Tue Aug 29 21:05:25 2006, , ) -> rename(CVS/Entries.Backup,CVS/Entries) -> unlink_file(CVS/Entries.Log) =================================================================== File: INSTALL.CVS Status: Up-to-date Working revision: 1.7 Repository revision: 1.7 /sources/emacs/emacs/INSTALL.CVS,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) S -> server_pathname_check (INSTALL.CVS) S -> Reader_Lock(/sources/emacs/emacs) S -> RCS_cmp_file( /sources/emacs/emacs/INSTALL.CVS,v, 1.7, (null), , INSTALL.CVS ) S -> RCS_checkout (/sources/emacs/emacs/INSTALL.CVS,v, 1.7, , , (function)) S -> server_register(INSTALL.CVS, 1.7, Tue Aug 29 21:05:27 2006, , , , ) S -> Register(INSTALL.CVS, 1.7, Tue Aug 29 21:05:27 2006, , ) S -> Simple_Lock_Cleanup() S -> rename(CVS/Entries.Backup,CVS/Entries) S -> unlink_file(CVS/Entries.Log) -> close_connection_to_server () S -> dirswitch (., /sources/emacs/emacs) S -> do_cvs_command (status) S -> server_notify() S -> Lock_Cleanup() S -> Simple_Lock_Cleanup() S -> server_cleanup() %