summaryrefslogtreecommitdiffstats
path: root/lib/redmine/scm
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-01-20 12:04:23 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-01-20 12:04:23 +0000
commit30801ca96805a78016a625fefde9f99f51042c78 (patch)
tree8f27fada5662a1257a4266bb2db53097999f0735 /lib/redmine/scm
parent9f9802bf46047e5ad0bd559d4e26f92467d92f18 (diff)
downloadredmine-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.rb13
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|