summaryrefslogtreecommitdiffstats
path: root/lib/redmine/scm/adapters/abstract_adapter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/redmine/scm/adapters/abstract_adapter.rb')
-rw-r--r--lib/redmine/scm/adapters/abstract_adapter.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb
index 0bacda770..a876de937 100644
--- a/lib/redmine/scm/adapters/abstract_adapter.rb
+++ b/lib/redmine/scm/adapters/abstract_adapter.rb
@@ -24,6 +24,20 @@ module Redmine
end
class AbstractAdapter #:nodoc:
+ class << self
+ # Returns the version of the scm client
+ # Eg: [1, 5, 0]
+ def client_version
+ 'Unknown version'
+ end
+
+ # Returns the version string of the scm client
+ # Eg: '1.5.0'
+ def client_version_string
+ client_version.is_a?(Array) ? client_version.join('.') : client_version.to_s
+ end
+ end
+
def initialize(url, root_url=nil, login=nil, password=nil)
@url = url
@login = login if login && !login.empty?
@@ -77,6 +91,10 @@ module Redmine
def entries(path=nil, identifier=nil)
return nil
end
+
+ def properties(path, identifier=nil)
+ return nil
+ end
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
return nil
@@ -131,10 +149,18 @@ module Redmine
end
def logger
- RAILS_DEFAULT_LOGGER
+ self.class.logger
end
def shellout(cmd, &block)
+ self.class.shellout(cmd, &block)
+ end
+
+ def self.logger
+ RAILS_DEFAULT_LOGGER
+ end
+
+ def self.shellout(cmd, &block)
logger.debug "Shelling out: #{cmd}" if logger && logger.debug?
begin
IO.popen(cmd, "r+") do |io|