summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-06-02 19:18:17 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-06-02 19:18:17 +0000
commit36162c6cf2615485cd5e9bf314cba2920943ce75 (patch)
tree55cce7c6b1183a9334bc860909f3428b08683a9b /app
parent870e8654b4dd6d36f816343f20d2fa603331efb6 (diff)
downloadredmine-36162c6cf2615485cd5e9bf314cba2920943ce75.tar.gz
redmine-36162c6cf2615485cd5e9bf314cba2920943ce75.zip
Diff: adds some space between 2 changes in the same file and reduces html size.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1486 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/views/repositories/diff.rhtml142
1 files changed, 69 insertions, 73 deletions
diff --git a/app/views/repositories/diff.rhtml b/app/views/repositories/diff.rhtml
index eaef1abf5..73c1e8c9e 100644
--- a/app/views/repositories/diff.rhtml
+++ b/app/views/repositories/diff.rhtml
@@ -11,82 +11,78 @@
<%= 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| %>
+<% 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>
- <% table_file.keys.sort.each do |key| %>
- <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>
- <% end %>
- </tbody>
- </table>
+<% 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 -%>
-<% 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>
- <% table_file.keys.sort.each do |key, line| %>
- <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>
- <% end %>
- </tbody>
- </table>
-<% end %>
</div>
-<% end %>
-<% end %>
+<% end -%>
+<% end -%>
<% html_title(with_leading_slash(@path), 'Diff') -%>