diff options
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r-- | lib/fileutils.rb | 12 |
1 files changed, 10 insertions, 2 deletions
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) |