scm: catch exception of getting command and version in model (#4273).
If command does not exist, Windows raises exception in shellout(). Linux does not raise exception. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4882 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
6c6bc81654
commit
66662ac84b
@ -187,7 +187,7 @@ class Repository < ActiveRecord::Base
|
|||||||
begin
|
begin
|
||||||
project.repository.fetch_changesets
|
project.repository.fetch_changesets
|
||||||
rescue Redmine::Scm::Adapters::CommandFailed => e
|
rescue Redmine::Scm::Adapters::CommandFailed => e
|
||||||
logger.error "Repository: error during fetching changesets: #{e.message}"
|
logger.error "scm: error during fetching changesets: #{e.message}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -218,15 +218,33 @@ class Repository < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.scm_command
|
def self.scm_command
|
||||||
self.scm_adapter_class.nil? ? "" : self.scm_adapter_class.client_command
|
ret = ""
|
||||||
|
begin
|
||||||
|
ret = self.scm_adapter_class.client_command if self.scm_adapter_class
|
||||||
|
rescue Redmine::Scm::Adapters::CommandFailed => e
|
||||||
|
logger.error "scm: error during get command: #{e.message}"
|
||||||
|
end
|
||||||
|
ret
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.scm_version_string
|
def self.scm_version_string
|
||||||
self.scm_adapter_class.nil? ? "" : self.scm_adapter_class.client_version_string
|
ret = ""
|
||||||
|
begin
|
||||||
|
ret = self.scm_adapter_class.client_version_string if self.scm_adapter_class
|
||||||
|
rescue Redmine::Scm::Adapters::CommandFailed => e
|
||||||
|
logger.error "scm: error during get version string: #{e.message}"
|
||||||
|
end
|
||||||
|
ret
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.scm_available
|
def self.scm_available
|
||||||
self.scm_adapter_class.nil? ? false : self.scm_adapter_class.client_available
|
ret = false
|
||||||
|
begin
|
||||||
|
ret = self.scm_adapter_class.client_available if self.scm_adapter_class
|
||||||
|
rescue Redmine::Scm::Adapters::CommandFailed => e
|
||||||
|
logger.error "scm: error during get scm available: #{e.message}"
|
||||||
|
end
|
||||||
|
ret
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
Loading…
x
Reference in New Issue
Block a user