Issue #4436 has been updated by jeremyevans0 (Jeremy Evans).

Target version set to Next Major

After a more thorough review, `fu_output_message` is only called in verbose mode. You can get the behavior you want via:

```ruby
FileUtils.instance_variable_set(:@fileutils_output, $stdout)
```

before calling other methods on FileUtils.  I think changing the default from `$stderr` to `$stdout` should be done in Ruby 3.

----------------------------------------
Bug #4436: FileUtils verbose mode prints output to stderr
https://bugs.ruby-lang.org/issues/4436#change-80315

* Author: jrdioko (Johnathan Ritzi)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: Next Major
* ruby -v: 
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
=begin
I'm using a plugin in a Ruby on Rails application that uses FileUtils's cp_r method to copy files into place (with verbose mode on). When deploying my application with Capistrano, I get several "error" lines during this part (http://groups.google.com/group/capistrano/browse_thread/thread/64e95a26af3035cd?pli=1).

It appears that FileUtils#cp_r prints all output in verbose mode to stderr, even if the output is not erroneous (http://stackoverflow.com/questions/3163585/getting-executed-command-from-ruby-fileutils). It seems that fu_output_message (and related code) should be changed so that output goes to stdout and errors go to stderr, as usual.
=end




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>