summaryrefslogtreecommitdiffstats
path: root/app/views/repositories/annotate.html.erb
blob: de30e7c00bb672ed15dbdd458a4a563fd57bdf5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<%= call_hook(:view_repositories_show_contextual, { :repository => @repository, :project => @project }) %>

<div class="contextual">
  <%= render :partial => 'navigation' %>
</div>

<h2 class="breadcrumbs"><%= render :partial => 'breadcrumbs', :locals => { :path => @path, :kind => 'file', :revision => @rev } %></h2>

<%= render :partial => 'link_to_functions' %>

<% if @annotate %>
<% colors = Hash.new {|k,v| k[v] = (k.size % 12) } %>
<div class="autoscroll">
<table class="filecontent annotate syntaxhl">
  <tbody>
    <% line_num = 1; previous_revision = nil %>
    <% syntax_highlight_lines(@path, Redmine::CodesetUtil.to_utf8_by_setting(@annotate.content)).each do |line| %>
      <% revision = @annotate.revisions[line_num - 1] %>
      <tr id="L<%= line_num %>" class="bloc-<%= revision.nil? ? 0 : colors[revision.identifier || revision.revision] %> <%= previous_revision && revision && revision != previous_revision ? 'bloc-change' : nil%>">
        <th class="line-num"><a href="#L<%= line_num %>" data-txt="<%= line_num %>"></a></th>
        <td class="revision">
          <% if revision && revision != previous_revision %>
            <%= revision.identifier ?
                  link_to_revision(revision, @repository) : format_revision(revision) %>
          <% end %>
        </td>
        <td class="author">
          <% if revision && revision != previous_revision %>
            <% author = Redmine::CodesetUtil.to_utf8(revision.author.to_s,
                                                     @repository.repo_log_encoding) %>
            <%= author.split('<').first %>
          <% end %>
        </td>
        <% if line == "\n" or line == "\r\n" %>
        <td class="line-code"><br></td>
        <% else %>
        <td class="line-code"><div><%= line.html_safe %></div></td>
        <% end %>
      </tr>
      <% line_num += 1; previous_revision = revision %>
    <% end %>
  </tbody>
</table>
</div>
<% else %>
<p id="errorExplanation"><%= @error_message %></p>
<% end %>

<% html_title(l(:button_annotate)) -%>

<% content_for :header_tags do %>
<%= stylesheet_link_tag 'scm' %>
<% end %>