diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-11-30 17:58:39 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-11-30 17:58:39 +0900 |
commit | 32e547954fbbcbdd6f4468bf3be9e7eaa5d32f0f (patch) | |
tree | f884bfaf0d2baa60d4f4a54d1c7880608533e5d9 /lib/fileutils.rb | |
parent | 5e9f08647cead8b7fa303a5da88c5e96035f3497 (diff) | |
download | ruby-32e547954fbbcbdd6f4468bf3be9e7eaa5d32f0f.tar.gz |
Revert "[ruby/fileutils] Fix #install with "X" mode option"
This reverts commit eab88d20eaa925d5e61a2a65820a099b46ccf3f8.
The some CI was broken with this.
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r-- | lib/fileutils.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb index 45ec148bb9..59fc8bbb44 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -917,8 +917,11 @@ module FileUtils private_module_function :apply_mask def symbolic_modes_to_i(mode_sym, path) #:nodoc: - path = File.stat(path) unless File::Stat === path - mode = path.mode + mode = if File::Stat === path + path.mode + else + File.stat(path).mode + end mode_sym.split(/,/).inject(mode & 07777) do |current_mode, clause| target, *actions = clause.split(/([=+-])/) raise ArgumentError, "invalid file mode: #{mode_sym}" if actions.empty? @@ -935,7 +938,7 @@ module FileUtils when "x" mask | 0111 when "X" - if path.directory? + if FileTest.directory? path mask | 0111 else mask |