From: Tanaka Akira Date: 2010-04-11T09:27:49+09:00 Subject: [ruby-core:29426] rdoc --no-force-update problem on ext4 filesystem rdoc --no-force-update doesn't work on a filesystem which have subsecond timestamp. I found rdoc --no-force-update doesn't work as follows on one of my machines. % rm -rf z % ../bin/rdoc --no-force-update --op z lib/base64.rb Parsing sources... 100% [ 1/ 1] lib/base64.rb Generating Darkfish... Files: 1 Classes: 0 ( 0 undocumented) Constants: 0 ( 0 undocumented) Modules: 1 ( 0 undocumented) Methods: 6 ( 0 undocumented) 100.00% documented Elapsed: 0.1s % ../bin/rdoc --no-force-update --op z lib/base64.rb Parsing sources... 100% [ 1/ 1] lib/base64.rb Generating Darkfish... Files: 1 Classes: 0 ( 0 undocumented) Constants: 0 ( 0 undocumented) Modules: 1 ( 0 undocumented) Methods: 6 ( 0 undocumented) 100.00% documented Elapsed: 0.1s I found that this is caused by the timestamp has nano second resolution. The filesystem is ext4. % ./ruby -rtime -e 'p File.mtime("lib/base64.rb").iso8601(9)' "2010-04-11T08:03:30.365903177+09:00" created.rid contains only second. % cat z/created.rid Sun, 11 Apr 2010 09:11:13 +0900 lib/base64.rb Sun, 11 Apr 2010 08:03:30 +0900 So, lib/base64.rb is always considered as newer than the time in created.rid. % ./ruby -v ruby 1.9.2dev (2010-04-11 trunk 27288) [x86_64-linux] -- Tanaka Akira