From cec6f5c3b0a07d3e99c78557850a2d3ea9e73daa Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Fri, 28 Oct 2011 05:17:46 +0000 Subject: scm: git: lib: return array of Branch class instead of array of strings at branches method (#5501) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contributed by Jan TopiƄski. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7671 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/scm/adapters/git_adapter.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib') 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! -- cgit v1.2.3