]> source.dussan.org Git - redmine.git/commitdiff
scm: mercurial: support tags at adapter (#1981).
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Fri, 18 Feb 2011 07:14:51 +0000 (07:14 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Fri, 18 Feb 2011 07:14:51 +0000 (07:14 +0000)
Contributed by Yuya Nishihara.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4872 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/scm/adapters/mercurial_adapter.rb

index 28f551574228ef0c55647b522e50be243a7a47e5..e8531e6125cf23c3650d6779e0e129aacfe5fb9a 100644 (file)
@@ -85,6 +85,18 @@ module Redmine
                                             :scmid => tip['node']))
         end
 
+        def tags
+          as_ary(summary['repository']['tag']).map { |e| e['name'] }
+        end
+
+        # Returns map of {'tag' => 'nodeid', ...}
+        def tagmap
+          alist = as_ary(summary['repository']['tag']).map do |e|
+            e.values_at('name', 'node')
+          end
+          Hash[*alist.flatten]
+        end
+
         def summary
           @summary ||= hg 'rhsummary' do |io|
             ActiveSupport::XmlMini.parse(io.read)['rhsummary']