Mercurial > hg > soundsoftware-site
comparison lib/redmine/scm/adapters/mercurial_adapter.rb @ 36:de76cd3e8c8e cc-branches
* Probably abortive experiments in extracting the branch from Hg
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Wed, 20 Oct 2010 10:07:29 +0100 |
parents | e297bf495063 |
children |
comparison
equal
deleted
inserted
replaced
29:192d132064a5 | 36:de76cd3e8c8e |
---|---|
154 {:action => e.attributes['action'], :path => with_leading_slash(e.text), | 154 {:action => e.attributes['action'], :path => with_leading_slash(e.text), |
155 :from_path => (cpmap.member?(e.text) ? with_leading_slash(cpmap[e.text]) : nil), | 155 :from_path => (cpmap.member?(e.text) ? with_leading_slash(cpmap[e.text]) : nil), |
156 :from_revision => (cpmap.member?(e.text) ? le.attributes['revision'] : nil)} | 156 :from_revision => (cpmap.member?(e.text) ? le.attributes['revision'] : nil)} |
157 end.sort { |a, b| a[:path] <=> b[:path] } | 157 end.sort { |a, b| a[:path] <=> b[:path] } |
158 | 158 |
159 branch = le.elements['branch'].text; | |
160 logger.debug("Branch is #{branch}"); | |
161 | |
159 yield Revision.new(:identifier => le.attributes['revision'], | 162 yield Revision.new(:identifier => le.attributes['revision'], |
160 :revision => le.attributes['revision'], | 163 :revision => le.attributes['revision'], |
161 :scmid => le.attributes['node'], | 164 :scmid => le.attributes['node'], |
162 :author => (le.elements['author'].text rescue ''), | 165 :author => (le.elements['author'].text rescue ''), |
163 :time => Time.parse(le.elements['date'].text).localtime, | 166 :time => Time.parse(le.elements['date'].text).localtime, |
164 :message => le.elements['msg'].text, | 167 :message => le.elements['msg'].text, |
168 :branch => le.elements['branch'].text, | |
165 :paths => paths) | 169 :paths => paths) |
166 end | 170 end |
167 self | 171 self |
168 end | 172 end |
169 | 173 |
170 # Returns list of nodes in the specified branch | 174 # Returns list of nodes in the specified branch |
171 def nodes_in_branch(branch, path=nil, identifier_from=nil, identifier_to=nil, options={}) | 175 def nodes_in_branch(branch, path=nil, identifier_from=nil, identifier_to=nil, options={}) |
176 logger.debug("nodes_in_branch: Branch is #{branch}"); | |
172 hg_args = ['log', '--template', '{node|short}\n', '-b', branch] | 177 hg_args = ['log', '--template', '{node|short}\n', '-b', branch] |
173 hg_args << '-r' << "#{hgrev(identifier_from)}:#{hgrev(identifier_to)}" | 178 hg_args << '-r' << "#{hgrev(identifier_from)}:#{hgrev(identifier_to)}" |
174 hg_args << '--limit' << options[:limit] if options[:limit] | 179 hg_args << '--limit' << options[:limit] if options[:limit] |
175 hg_args << without_leading_slash(path) unless path.blank? | 180 hg_args << without_leading_slash(path) unless path.blank? |
176 hg(*hg_args) { |io| io.readlines.map { |e| e.chomp } } | 181 hg(*hg_args) { |io| io.readlines.map { |e| e.chomp } } |