From 0cdbec47b5805a201f376e9e7f0a43de24c34e4f Mon Sep 17 00:00:00 2001
From: Toshi MARUYAMA <marutosijp2@yahoo.co.jp>
Date: Fri, 18 Feb 2011 07:14:51 +0000
Subject: [PATCH] scm: mercurial: support tags at adapter (#1981).

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 | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb
index 28f551574..e8531e612 100644
--- a/lib/redmine/scm/adapters/mercurial_adapter.rb
+++ b/lib/redmine/scm/adapters/mercurial_adapter.rb
@@ -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']
-- 
GitLab