aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2012-10-29 02:17:11 -0700
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-11-08 20:50:05 -0200
commit3d25292ae3da2e8cf7a501c69b331a8d08344c59 (patch)
treebc9e395d0b2ec735a84efcf30bbe4c50f90c5aae /activesupport/lib/active_support
parent5222a33d0dc67f4984e26ccab46722b4ee2277d5 (diff)
downloadrails-3d25292ae3da2e8cf7a501c69b331a8d08344c59.tar.gz
rails-3d25292ae3da2e8cf7a501c69b331a8d08344c59.tar.bz2
rails-3d25292ae3da2e8cf7a501c69b331a8d08344c59.zip
Merge pull request #8027 from daenney/master
Atomic.rb assumes it may chown/chmod a file but doesn't handle the EPERM error. Conflicts: activesupport/CHANGELOG.md guides/source/active_support_core_extensions.md
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r--activesupport/lib/active_support/core_ext/file/atomic.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/core_ext/file/atomic.rb b/activesupport/lib/active_support/core_ext/file/atomic.rb
index fc3277f4d2..b0daf6db9e 100644
--- a/activesupport/lib/active_support/core_ext/file/atomic.rb
+++ b/activesupport/lib/active_support/core_ext/file/atomic.rb
@@ -36,7 +36,12 @@ class File
FileUtils.mv(temp_file.path, file_name)
# Set correct permissions on new file
- chown(old_stat.uid, old_stat.gid, file_name)
- chmod(old_stat.mode, file_name)
+ begin
+ chown(old_stat.uid, old_stat.gid, file_name)
+ # This operation will affect filesystem ACL's
+ chmod(old_stat.mode, file_name)
+ rescue Errno::EPERM
+ # Changing file ownership failed, moving on.
+ end
end
end