* lib/fileutils.rb (FileUtils::Entry_#copy_file): updated FileUtils.cp

to still copy file permissions when :preserve is false (as cp does
  this even when -p isn't set).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2011-03-17 23:48:13 +00:00
Родитель 58e8b41eb1
Коммит c7837ed8d3
3 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,9 @@
Fri Mar 18 08:48:06 2011 Oleg Shaldybin <oleg.shaldybin@gmail.com>
* lib/fileutils.rb (FileUtils::Entry_#copy_file): updated FileUtils.cp
to still copy file permissions when :preserve is false (as cp does
this even when -p isn't set).
Fri Mar 18 00:59:38 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/win32ole/extconf.rb (create_docfile): removed. should not

Просмотреть файл

@ -1276,7 +1276,7 @@ module FileUtils
def copy_file(dest)
File.open(path()) do |s|
File.open(dest, 'wb') do |f|
File.open(dest, 'wb', s.stat.mode) do |f|
IO.copy_stream(s, f)
end
end

Просмотреть файл

@ -230,6 +230,16 @@ class TestFileUtils
}
end
def test_cp_preserve_permissions
bug4507 = '[ruby-core:35518]'
touch 'tmp/cptmp'
chmod 0755, 'tmp/cptmp'
cp 'tmp/cptmp', 'tmp/cptmp2'
assert_equal(File.stat('tmp/cptmp').mode,
File.stat('tmp/cptmp2').mode,
bug4507)
end
def test_cp_symlink
touch 'tmp/cptmp'
# src==dest (2) symlink and its target