diff --git a/ChangeLog b/ChangeLog index f13137425e..c5ccac1af9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Nov 18 22:20:10 2003 Minero Aoki + + * lib/fileutils.rb (fu_same?): temporal fix for windows. + Tue Nov 18 19:05:04 2003 Minero Aoki * lib/fileutils.rb (fu_same?): check by inode instead of path diff --git a/lib/fileutils.rb b/lib/fileutils.rb index 9b50aec919..bcc7b8d7d6 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -465,7 +465,7 @@ module FileUtils alias move mv def cannot_overwrite_file? #:nodoc: - /djgpp|cygwin|mswin32/ === RUBY_PLATFORM + /djgpp|cygwin|mswin|mingw/ === RUBY_PLATFORM end private :cannot_overwrite_file? @@ -739,11 +739,19 @@ module FileUtils end def fu_same?( a, b ) - File.stat(a).ino == File.stat(b).ino + if have_st_ino? + File.stat(a).dev == File.stat(b).dev and File.stat(a).ino == File.stat(b).ino + else + File.expand_path(a) == File.expand_path(b) + end rescue Errno::ENOENT return false end + def have_st_ino? + /mswin|mingw/ !~ RUBY_PLATFORM + end + def fu_stream_blksize( *streams ) streams.each do |s| next unless s.respond_to?(:stat)