# HG changeset patch # User Chris Cannam # Date 1287565649 -3600 # Node ID de76cd3e8c8ebe77aed351ec0abc0fb2b7b16359 # Parent 192d132064a5bb020da68969684a2fbdf84707fa * Probably abortive experiments in extracting the branch from Hg diff -r 192d132064a5 -r de76cd3e8c8e app/models/changeset.rb --- a/app/models/changeset.rb Fri Oct 01 15:33:14 2010 +0100 +++ b/app/models/changeset.rb Wed Oct 20 10:07:29 2010 +0100 @@ -84,6 +84,10 @@ def author user || committer.to_s.split('<').first end + + def branch + "unknown" + end def before_create self.user = repository.find_committer_user(committer) diff -r 192d132064a5 -r de76cd3e8c8e app/models/repository/mercurial.rb --- a/app/models/repository/mercurial.rb Fri Oct 01 15:33:14 2010 +0100 +++ b/app/models/repository/mercurial.rb Wed Oct 20 10:07:29 2010 +0100 @@ -85,6 +85,7 @@ :scmid => re.scmid, :committer => re.author, :committed_on => re.time, + :branch => re.branch, :comments => re.message) re.paths.each { |e| cs.create_change(e) } end diff -r 192d132064a5 -r de76cd3e8c8e app/views/repositories/_revisions.rhtml --- a/app/views/repositories/_revisions.rhtml Fri Oct 01 15:33:14 2010 +0100 +++ b/app/views/repositories/_revisions.rhtml Wed Oct 20 10:07:29 2010 +0100 @@ -6,6 +6,7 @@ <%= l(:label_date) %> <%= l(:field_author) %> +<%= l(:field_branch) %> <%= l(:field_comments) %> @@ -18,6 +19,7 @@ <%= radio_button_tag('rev_to', changeset.identifier, (line_num==2), :id => "cbto-#{line_num}", :onclick => "if ($('cb-#{line_num}').checked==true) {$('cb-#{line_num-1}').checked=true;}") if show_diff && (line_num > 1) %> <%= format_time(changeset.committed_on) %> <%=h changeset.author %> +<%=h changeset.branch %> <%= textilizable(truncate_at_line_break(changeset.comments)) %> <% line_num += 1 %> diff -r 192d132064a5 -r de76cd3e8c8e lib/redmine/scm/adapters/mercurial/hg-template-1.0.tmpl --- a/lib/redmine/scm/adapters/mercurial/hg-template-1.0.tmpl Fri Oct 01 15:33:14 2010 +0100 +++ b/lib/redmine/scm/adapters/mercurial/hg-template-1.0.tmpl Wed Oct 20 10:07:29 2010 +0100 @@ -1,7 +1,7 @@ changeset = 'This template must be used with --debug option\n' changeset_quiet = 'This template must be used with --debug option\n' changeset_verbose = 'This template must be used with --debug option\n' -changeset_debug = '\n{author|escape}\n{date|isodate}\n\n{file_mods}{file_adds}{file_dels}{file_copies}\n{desc|escape}\n{tags}\n\n' +changeset_debug = '\n{author|escape}\n{date|isodate}\n\n{file_mods}{file_adds}{file_dels}{file_copies}\n{desc|escape}\n{branches}\n{tags}\n\n' file_mod = '{file_mod|escape}\n' file_add = '{file_add|escape}\n' diff -r 192d132064a5 -r de76cd3e8c8e lib/redmine/scm/adapters/mercurial_adapter.rb --- a/lib/redmine/scm/adapters/mercurial_adapter.rb Fri Oct 01 15:33:14 2010 +0100 +++ b/lib/redmine/scm/adapters/mercurial_adapter.rb Wed Oct 20 10:07:29 2010 +0100 @@ -156,12 +156,16 @@ :from_revision => (cpmap.member?(e.text) ? le.attributes['revision'] : nil)} end.sort { |a, b| a[:path] <=> b[:path] } + branch = le.elements['branch'].text; + logger.debug("Branch is #{branch}"); + yield Revision.new(:identifier => le.attributes['revision'], :revision => le.attributes['revision'], :scmid => le.attributes['node'], :author => (le.elements['author'].text rescue ''), :time => Time.parse(le.elements['date'].text).localtime, :message => le.elements['msg'].text, + :branch => le.elements['branch'].text, :paths => paths) end self @@ -169,6 +173,7 @@ # Returns list of nodes in the specified branch def nodes_in_branch(branch, path=nil, identifier_from=nil, identifier_to=nil, options={}) + logger.debug("nodes_in_branch: Branch is #{branch}"); hg_args = ['log', '--template', '{node|short}\n', '-b', branch] hg_args << '-r' << "#{hgrev(identifier_from)}:#{hgrev(identifier_to)}" hg_args << '--limit' << options[:limit] if options[:limit]