92 lines
3.2 KiB
Plaintext
92 lines
3.2 KiB
Plaintext
<h2><%= l(:label_revision) %> <%= format_revision(@rev) %> <%= @path.gsub(/^.*\//, '') %></h2>
|
|
|
|
<!-- Choose view type -->
|
|
<% form_tag({ :controller => 'repositories', :action => 'diff'}, :method => 'get') do %>
|
|
<% params.each do |k, p| %>
|
|
<% if k != "type" %>
|
|
<%= hidden_field_tag(k,p) %>
|
|
<% end %>
|
|
<% end %>
|
|
<p><label><%= l(:label_view_diff) %></label>
|
|
<%= select_tag 'type', options_for_select([[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], @diff_type), :onchange => "if (this.value != '') {this.form.submit()}" %></p>
|
|
<% end %>
|
|
|
|
<% cache(@cache_key) do -%>
|
|
<% @diff.each do |table_file| -%>
|
|
<div class="autoscroll">
|
|
<% if @diff_type == 'sbs' -%>
|
|
<table class="filecontent CodeRay">
|
|
<thead>
|
|
<tr><th colspan="4" class="filename"><%= table_file.file_name %></th></tr>
|
|
<tr>
|
|
<th colspan="2">@<%= format_revision @rev %></th>
|
|
<th colspan="2">@<%= format_revision @rev_to %></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% prev_line_left, prev_line_right = nil, nil -%>
|
|
<% table_file.keys.sort.each do |key| -%>
|
|
<% if prev_line_left && prev_line_right && (table_file[key].nb_line_left != prev_line_left+1) && (table_file[key].nb_line_right != prev_line_right+1) -%>
|
|
<tr class="spacing"><td colspan="4"></td></tr>
|
|
<% end -%>
|
|
<tr>
|
|
<th class="line-num"><%= table_file[key].nb_line_left %></th>
|
|
<td class="line-code <%= table_file[key].type_diff_left %>">
|
|
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
|
</td>
|
|
<th class="line-num"><%= table_file[key].nb_line_right %></th>
|
|
<td class="line-code <%= table_file[key].type_diff_right %>">
|
|
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
|
</td>
|
|
</tr>
|
|
<% prev_line_left, prev_line_right = table_file[key].nb_line_left.to_i, table_file[key].nb_line_right.to_i -%>
|
|
<% end -%>
|
|
</tbody>
|
|
</table>
|
|
|
|
<% else -%>
|
|
<table class="filecontent CodeRay">
|
|
<thead>
|
|
<tr><th colspan="3" class="filename"><%= table_file.file_name %></th></tr>
|
|
<tr>
|
|
<th>@<%= format_revision @rev %></th>
|
|
<th>@<%= format_revision @rev_to %></th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% prev_line_left, prev_line_right = nil, nil -%>
|
|
<% table_file.keys.sort.each do |key, line| %>
|
|
<% if prev_line_left && prev_line_right && (table_file[key].nb_line_left != prev_line_left+1) && (table_file[key].nb_line_right != prev_line_right+1) -%>
|
|
<tr class="spacing"><td colspan="3"></td></tr>
|
|
<% end -%>
|
|
<tr>
|
|
<th class="line-num"><%= table_file[key].nb_line_left %></th>
|
|
<th class="line-num"><%= table_file[key].nb_line_right %></th>
|
|
<% if table_file[key].line_left.empty? -%>
|
|
<td class="line-code <%= table_file[key].type_diff_right %>">
|
|
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
|
</td>
|
|
<% else -%>
|
|
<td class="line-code <%= table_file[key].type_diff_left %>">
|
|
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
|
</td>
|
|
<% end -%>
|
|
</tr>
|
|
<% prev_line_left = table_file[key].nb_line_left.to_i if table_file[key].nb_line_left.to_i > 0 -%>
|
|
<% prev_line_right = table_file[key].nb_line_right.to_i if table_file[key].nb_line_right.to_i > 0 -%>
|
|
<% end -%>
|
|
</tbody>
|
|
</table>
|
|
<% end -%>
|
|
|
|
</div>
|
|
<% end -%>
|
|
<% end -%>
|
|
|
|
<% html_title(with_leading_slash(@path), 'Diff') -%>
|
|
|
|
<% content_for :header_tags do %>
|
|
<%= stylesheet_link_tag "scm" %>
|
|
<% end %>
|