diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-15 07:04:49 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-15 07:04:49 +0000 |
commit | 50bbb97848dd09119f650d62544ccdbf1bdae933 (patch) | |
tree | b8b77c95045b2470a8b4d5a00f685f6ff38c2fb1 /lib | |
parent | a9429df880f588f4df05c736afa18ca668a0c6ec (diff) | |
download | redmine-50bbb97848dd09119f650d62544ccdbf1bdae933.tar.gz redmine-50bbb97848dd09119f650d62544ccdbf1bdae933.zip |
scm: bazaar: add methods of getting bazaar version and add unit lib test (#4273).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4831 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/scm/adapters/bazaar_adapter.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/redmine/scm/adapters/bazaar_adapter.rb b/lib/redmine/scm/adapters/bazaar_adapter.rb index 1a11f639a..8bfa2bf25 100644 --- a/lib/redmine/scm/adapters/bazaar_adapter.rb +++ b/lib/redmine/scm/adapters/bazaar_adapter.rb @@ -33,6 +33,25 @@ module Redmine def sq_bin @@sq_bin ||= shell_quote(BZR_BIN) end + + def client_version + @@client_version ||= (scm_command_version || []) + end + + def client_available + !client_version.empty? + end + + def scm_command_version + scm_version = scm_version_from_command_line + if m = scm_version.match(%r{\A(.*?)((\d+\.)+\d+)}) + m[2].scan(%r{\d+}).collect(&:to_i) + end + end + + def scm_version_from_command_line + shellout("#{sq_bin} --version") { |io| io.read }.to_s + end end # Get info about the repository |