From: martin rudalics <rudalics@gmx.at>
Cc: emacs-devel@gnu.org
Subject: Re: vc-cvs-parse-entry
Date: Sun, 03 Sep 2006 12:40:11 +0200 [thread overview]
Message-ID: <44FAB10B.8010608@gmx.at> (raw)
In-Reply-To: <uy7t2uxxs.fsf@gnu.org>
>>FWIW, CVS did "use the right code to get the file times".
>
>
> By ``CVS'', do you mean ``the recently installed wincvs'' you
> mentioned?
No. I mean Concurrent Versions System (CVS) 1.11.19 (client).
> I use some old port of CVS, and it does have problems when
> DST changes, even though I have an XP machine and an NTFS filesystem.
> So I think the CVS port does have a say here, not only the filesystem.
Maybe it's related to what I read here
http://www.codeproject.com/datetime/dstbugs.asp
and there
http://www.devguy.com/fp/cfgmgmt/cvs/
>>Provided DST is on in your current time zone: Do you have a file on your
>>system with a modification date while DST was off?
>
>
> Yes, of course. How about src/unexelf.c, for example? It has the
> modification time of March 18, 2006, 5:32PM on my system.
It's the problem we had before, just in reverse. I did a CVS update on
April 11th, 2006.
>>Does your OS give the same modification time as Emacs?
>
>
> The problem is with the ``OS'' part--how did you know what ``the OS''
> thinks about that file's times? What utilities/system calls and/or
> Emacs functions you used to find that out? I don't think we can have
> any progress until we have answers for these questions, and understand
> well what code is involved in reporting time stamps. One problem is
> that, for commands like DIR, we don't have any way of knowing what
> they do, since their source code is not available.
>
> What I did was to reset the time zone to GMT and disable the automatic
> DST corrections, then look at what DIR (from cmd.exe) reports. I then
> set the time zone back to the normal setting, and looked at what DIR
> displayed now.
Did you change your local time in the BIOS? Did you change the time
zone settings in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\
Or did you simply check the box about automatic correction from the
system tray? That just dis-/enables setting local time after the first
start of Windows when DST has changed by consulting
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones\
My settings for this are
C4 FF FF FF 00 00 00 00
C4 FF FF FF 00 00 0A 00 <-- 0A means "october"
00 00 05 00 03 00 00 00 <-- 05 means last sunday, 03 at three o'clock
00 00 00 00 00 00 03 00 <-- 03 means "march"
00 00 05 00 02 00 00 00 <-- 05 means last sunday, 02 at two o'clock
00 00 00 00
Did you change that?
I have checked the box on the present partition and disabled it on all
other partitions. Otherwise I'd change my local time whenever I switch
to another partition after DST changed. (Un-)checking the box does not
have any impact on how file modification times are reported.
> My conclusion was that DIR lies about file times: it
> reports them as if DST were in effect, even if the file was modified
> when DST was off.
Because you neither changed your local time nor the respective registry
settings, I presume. (I think it's better to leave them alone, anyway.)
> By contrast, the GnuWin32 port of ls.exe reported
> the file times correctly, both for files modified under DST and files
> modified outside DST.
Because ls refers to the UTC value stored on disk. I don't have that.
My ls.exe (version 3.16 of GNU fileutils) doesn't report full time for
files modified before March, 9th, 2006 - for whatever reason. However,
the times reported by ls for files last modified around March 15, 2006
match those reported by DIR and other applications. They are _not_
identic to those reported by Emacs' file-attributes.
> We could make a similar check with Emacs primitives instead of ls.exe
> and DIR, if needed.
>
> But the trick with setting TZ to GMT probably won't work on FAT
> volumes, since the file times are recorded as local time there.
But do ls.exe and DIR give the same information for src/unexelf.c on
your system? And what would interest me most: Could you try to debug
`vc-cvs-parse-entry' while opening src/unexelf.c and look whether it
classifies the file as modified?
> Btw, I find the Date/Time decoder utility very useful when testing
> these issues, see:
>
> http://www.digital-detective.co.uk/freetools/decode.asp
What values do you paste there? Where do you get them from?
> It's possible. You might be able test this hypothesis by unchecking
> the "Automatically adjust clock for daylight saving changes" checkbox
> in the "Time Zone" tab of the "Date and Time Properties" dialog that
> pops up when you double-click the current time string displayed at the
> right edge of your system tray. (You will need to reboot the machine
> after unchecking that option, so that Windows doesn't reuse the cached
> values of DST offset, when it reports UTC file times.)
This is not sufficient as I tried to explain above.
next prev parent reply other threads:[~2006-09-03 10:40 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-29 16:20 vc-cvs-parse-entry martin rudalics
2006-08-29 19:07 ` vc-cvs-parse-entry Stefan Monnier
2006-08-29 20:51 ` vc-cvs-parse-entry martin rudalics
2006-08-29 21:06 ` vc-cvs-parse-entry Stefan Monnier
2006-08-30 12:24 ` vc-cvs-parse-entry Eli Zaretskii
2006-08-30 17:51 ` vc-cvs-parse-entry martin rudalics
2006-09-02 13:10 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-02 13:45 ` vc-cvs-parse-entry martin rudalics
2006-09-02 14:48 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-03 10:40 ` martin rudalics [this message]
2006-09-03 21:00 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-04 3:17 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-04 9:17 ` vc-cvs-parse-entry martin rudalics
2006-09-04 17:55 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-05 9:10 ` vc-cvs-parse-entry martin rudalics
2006-09-05 18:31 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-10 9:55 ` vc-cvs-parse-entry martin rudalics
2006-09-10 21:17 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-11 9:41 ` vc-cvs-parse-entry martin rudalics
2006-09-11 14:14 ` vc-cvs-parse-entry Stefan Monnier
2006-09-12 3:50 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-14 8:40 ` vc-cvs-parse-entry martin rudalics
2006-09-15 17:43 ` vc-cvs-parse-entry Eli Zaretskii
2006-09-15 17:51 ` vc-cvs-parse-entry Eli Zaretskii
2006-08-30 21:01 ` vc-cvs-parse-entry Stefan Monnier
2006-09-02 12:32 ` vc-cvs-parse-entry Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44FAB10B.8010608@gmx.at \
--to=rudalics@gmx.at \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.