The behavior of Fime.utime on Ruby 1.8 on Windows looks wrong:

H:\devel>type test_mtime.rb
time = Time.local(2000, 1, 1, 0, 0, 0)
file = "foo.txt"
File.open(file, "w") {}
File.utime time, time, file
puts time.to_f
puts File.mtime(file).to_f

H:\devel>c:\ruby1.8\bin\ruby.exe -v test_mtime.rb
ruby 1.8.2 (2004-12-25) [i386-mswin32]
946681200.0
946684800.0

The file's mtime is 1 hour later. Using Time.gm doesn't fix the
problem.

Compare with Ruby 1.6, which looks good:
H:\devel>c:\ruby\bin\ruby.exe -v test_mtime.rb
ruby 1.6.7 (2002-03-01) [i386-mingw32]
946681200.0
946681200.0

I don't know if it's related, but I'm using a FAT32 filesystem.


mike