summaryrefslogtreecommitdiffstats
path: root/lib/redmine/scm/adapters
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-05-26 01:11:25 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-05-26 01:11:25 +0000
commit7c03f30cd1b363c68e47ffec8718ec57621259d7 (patch)
tree38b5476314ae4390c53ba8975dc444d59669bdfa /lib/redmine/scm/adapters
parentd4d75401b3a29a6462005ea18ecc8307760db51a (diff)
downloadredmine-7c03f30cd1b363c68e47ffec8718ec57621259d7.tar.gz
redmine-7c03f30cd1b363c68e47ffec8718ec57621259d7.zip
scm: bazaar: refactor adapter annotate to use scm_cmd().
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5912 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine/scm/adapters')
-rw-r--r--lib/redmine/scm/adapters/bazaar_adapter.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/redmine/scm/adapters/bazaar_adapter.rb b/lib/redmine/scm/adapters/bazaar_adapter.rb
index 2710899d7..89cfa80c7 100644
--- a/lib/redmine/scm/adapters/bazaar_adapter.rb
+++ b/lib/redmine/scm/adapters/bazaar_adapter.rb
@@ -199,12 +199,12 @@ module Redmine
end
def annotate(path, identifier=nil)
- cmd = "#{self.class.sq_bin} annotate --all"
- cmd << " -r#{identifier.to_i}" if identifier && identifier.to_i > 0
- cmd << " #{target(path)}"
blame = Annotate.new
- shellout(cmd) do |io|
- author = nil
+ cmd_args = %w|annotate --all|
+ cmd_args << "-r#{identifier.to_i}" if identifier && identifier.to_i > 0
+ cmd_args << bzr_target(path)
+ scm_cmd(*cmd_args) do |io|
+ author = nil
identifier = nil
io.each_line do |line|
next unless line =~ %r{^(\d+) ([^|]+)\| (.*)$}
@@ -217,8 +217,9 @@ module Redmine
))
end
end
- return nil if $? && $?.exitstatus != 0
blame
+ rescue ScmCommandAborted
+ return nil
end
def self.branch_conf_path(path)