[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: vc-cvs-parse-entry
From: |
Stefan Monnier |
Subject: |
Re: vc-cvs-parse-entry |
Date: |
Tue, 29 Aug 2006 17:06:50 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
>> 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()
%