Преглед изворни кода

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
tags/2.3.0
Jean-Philippe Lang пре 11 година
родитељ
комит
30801ca968
2 измењених фајлова са 15 додато и 4 уклоњено
  1. 6
    0
      config/configuration.yml.example
  2. 9
    4
      lib/redmine/scm/adapters/abstract_adapter.rb

+ 6
- 0
config/configuration.yml.example Прегледај датотеку

@@ -133,6 +133,12 @@ default:
scm_bazaar_command:
scm_darcs_command:

# Absolute path to the scm commands errors (stderr) log file.
# The default is to log in the 'log' directory of your Redmine instance.
# Example:
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
scm_stderr_log_file:

# Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
# If you don't want to enable data encryption, just leave it blank.
# WARNING: losing/changing this key will make encrypted data unreadable.

+ 9
- 4
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|

Loading…
Откажи
Сачувај