From 6874cb465a1a8193a64d946d1bdb7ff4756a7ed9 Mon Sep 17 00:00:00 2001 From: aamine Date: Tue, 18 Nov 2003 13:24:48 +0000 Subject: [PATCH] * lib/fileutils.rb (fu_same?): temporal fix for windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ lib/fileutils.rb | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) 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)