diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-10-28 05:17:46 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-10-28 05:17:46 +0000 |
commit | cec6f5c3b0a07d3e99c78557850a2d3ea9e73daa (patch) | |
tree | fc7d216d3963debd840c387728ce551e474bf2a3 /lib | |
parent | 033214578fea303efdb6ee5eddc057e4275a6f3d (diff) | |
download | redmine-cec6f5c3b0a07d3e99c78557850a2d3ea9e73daa.tar.gz redmine-cec6f5c3b0a07d3e99c78557850a2d3ea9e73daa.zip |
scm: git: lib: return array of Branch class instead of array of strings at branches method (#5501)
Contributed by Jan TopiĆski.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7671 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/scm/adapters/git_adapter.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/redmine/scm/adapters/git_adapter.rb b/lib/redmine/scm/adapters/git_adapter.rb index f5dfbe2ae..c0f190ad7 100644 --- a/lib/redmine/scm/adapters/git_adapter.rb +++ b/lib/redmine/scm/adapters/git_adapter.rb @@ -77,10 +77,14 @@ module Redmine def branches return @branches if @branches @branches = [] - cmd_args = %w|branch --no-color| + cmd_args = %w|branch --no-color --verbose --no-abbrev| scm_cmd(*cmd_args) do |io| io.each_line do |line| - @branches << line.match('\s*\*?\s*(.*)$')[1] + branch_rev = line.match('\s*\*?\s*(.*?)\s*([0-9a-f]{40}).*$') + bran = Branch.new(branch_rev[1]) + bran.revision = branch_rev[2] + bran.scmid = branch_rev[2] + @branches << bran end end @branches.sort! |