diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-01-20 12:04:23 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-01-20 12:04:23 +0000 |
commit | 30801ca96805a78016a625fefde9f99f51042c78 (patch) | |
tree | 8f27fada5662a1257a4266bb2db53097999f0735 /lib/redmine/scm | |
parent | 9f9802bf46047e5ad0bd559d4e26f92467d92f18 (diff) | |
download | redmine-30801ca96805a78016a625fefde9f99f51042c78.tar.gz redmine-30801ca96805a78016a625fefde9f99f51042c78.zip |
Always log scm stderr and makes the log file path configurable.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11209 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine/scm')
-rw-r--r-- | lib/redmine/scm/adapters/abstract_adapter.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb index 4458baa7e..436d83bf4 100644 --- a/lib/redmine/scm/adapters/abstract_adapter.rb +++ b/lib/redmine/scm/adapters/abstract_adapter.rb @@ -218,14 +218,19 @@ module Redmine Rails.logger end + # Path to the file where scm stderr output is logged + def self.stderr_log_file + @stderr_log_path ||= + Redmine::Configuration['scm_stderr_log_file'].presence || + Rails.root.join("log/#{Rails.env}.scm.stderr.log").to_s + end + def self.shellout(cmd, options = {}, &block) if logger && logger.debug? logger.debug "Shelling out: #{strip_credential(cmd)}" end - if Rails.env == 'development' - # Capture stderr when running in dev environment - cmd = "#{cmd} 2>>#{shell_quote(Rails.root.join('log/scm.stderr.log').to_s)}" - end + # Capture stderr in a log file + cmd = "#{cmd} 2>>#{shell_quote(stderr_log_file)}" begin mode = "r+" IO.popen(cmd, mode) do |io| |