From: Toshi MARUYAMA Date: Sun, 13 Mar 2011 00:48:07 +0000 (+0000) Subject: scm: mercurial: add new "nodes_in_branch()" method in adapter (#7246, #4455). X-Git-Tag: 1.2.0~741 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b914a3648ace461e34b45a1cb2d163b1c20e229a;p=redmine.git scm: mercurial: add new "nodes_in_branch()" method in adapter (#7246, #4455). For latest changesets supporting named branch. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5102 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb index 6a2613fcf..df021ea1c 100644 --- a/lib/redmine/scm/adapters/mercurial_adapter.rb +++ b/lib/redmine/scm/adapters/mercurial_adapter.rb @@ -219,6 +219,17 @@ module Redmine self end + # Returns list of nodes in the specified branch + def nodes_in_branch(branch, path=nil, identifier_from=nil, identifier_to=nil, options={}) + p1 = scm_iconv(@path_encoding, 'UTF-8', path) + hg_args = ['rhlog', '--template', '{node|short}\n', '--rhbranch', CGI.escape(branch)] + hg_args << '--from' << CGI.escape(hgrev(identifier_from)) + hg_args << '--to' << CGI.escape(hgrev(identifier_to)) + hg_args << '--limit' << options[:limit] if options[:limit] + hg_args << CGI.escape(hgtarget(p1)) unless path.blank? + hg(*hg_args) { |io| io.readlines.map { |e| e.chomp } } + end + def diff(path, identifier_from, identifier_to=nil) hg_args = %w|rhdiff| if identifier_to