summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-10-28 05:17:46 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-10-28 05:17:46 +0000
commitcec6f5c3b0a07d3e99c78557850a2d3ea9e73daa (patch)
treefc7d216d3963debd840c387728ce551e474bf2a3 /lib
parent033214578fea303efdb6ee5eddc057e4275a6f3d (diff)
downloadredmine-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.rb8
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!