r=gerv a=glob git-svn-id: svn://10.0.0.236/trunk@265624 18797224-902f-48f8-a5cc-f745e15eee43
156 lines
6.4 KiB
Cheetah
156 lines
6.4 KiB
Cheetah
[%# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
# defined by the Mozilla Public License, v. 2.0.
|
|
#%]
|
|
|
|
[%# This line is really long for a reason: to get rid of any possible textnodes
|
|
# between the elements. This is necessary because DOM parent-child-sibling
|
|
# relations can change and screw up the javascript for restoring, collapsing
|
|
# and expanding. Do not change without testing all three of those.
|
|
# Also, the first empty row is required because 'table-layout: fixed' only
|
|
# considers the first row to determine column widths. If a colspan is found,
|
|
# it then share the width equally among all columns, which we don't want.
|
|
#%]
|
|
<table class="file_table"><thead><tr><td class="num"></td><td></td><td
|
|
class="num"></td><td></td></tr><tr><td class="file_head" colspan="4"><a href="#"
|
|
onclick="return twisty_click(this)">[% collapsed ? '(+)' : '(-)' %]</a><input
|
|
type="checkbox" name="[% file.filename FILTER html %]"[% collapsed ? '' : ' checked' %]
|
|
class="bz_default_hidden">
|
|
[% file.filename FILTER html %]
|
|
[% IF file.plus_lines %]
|
|
[% IF file.minus_lines %]
|
|
(-[% file.minus_lines %] / +[% file.plus_lines %] lines)
|
|
[% ELSE %]
|
|
(+[% file.plus_lines %] lines)
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF file.minus_lines %]
|
|
(-[% file.minus_lines %] lines)
|
|
[% END %]
|
|
[% END %]
|
|
</td></tr></thead><tbody class="[% collapsed ? 'file_collapse' : 'file' %]">
|
|
<script type="text/javascript">
|
|
incremental_restore()
|
|
</script>
|
|
|
|
[% section_num = 0 %]
|
|
[% FOREACH section = sections %]
|
|
[% section_num = section_num + 1 %]
|
|
<tr>
|
|
<th colspan="4" class="section_head">
|
|
<span id="[% file.filename FILTER html %]_sec[% section_num %]" class="lines_count">
|
|
[% IF file.is_add %]
|
|
Added
|
|
[% ELSIF file.is_remove %]
|
|
Removed
|
|
[% ELSE %]
|
|
[% IF section.old_lines > 1 %]
|
|
Lines [% section.old_start %]-[% section.old_start + section.old_lines - 1 %]
|
|
[% ELSE %]
|
|
Line [% section.old_start %]
|
|
[% END %]
|
|
[%+ section.func_info FILTER html IF section.func_info %]
|
|
[% END %]
|
|
</span>
|
|
<span class="link_here">
|
|
<a href="#[% file.filename FILTER html %]_sec[% section_num %]">Link Here</a>
|
|
</span>
|
|
</th>
|
|
</tr>
|
|
[% current_line_old = section.old_start %]
|
|
[% current_line_new = section.new_start %]
|
|
[% FOREACH group = section.groups %]
|
|
[% IF group.context %]
|
|
[% FOREACH line = group.context %]
|
|
<tr>
|
|
<td class="num">[% current_line_old %]</td>
|
|
<td><pre>[% line FILTER html %]</pre></td>
|
|
<td class="num">[% current_line_new %]</td>
|
|
<td><pre>[% line FILTER html %]</pre></td>
|
|
</tr>
|
|
[% current_line_old = current_line_old + 1 %]
|
|
[% current_line_new = current_line_new + 1 %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF group.plus.size %]
|
|
[% IF group.minus.size %]
|
|
[% i = 0 %]
|
|
[% WHILE (i < group.plus.size || i < group.minus.size) %]
|
|
[%# WHILE cannot loop more than 1000 times by default, so we break it every 500 times. %]
|
|
[% currentloop = 0 %]
|
|
[% WHILE currentloop < 500 && (i < group.plus.size || i < group.minus.size) %]
|
|
<tr>
|
|
[% IF i < group.minus.size %]
|
|
<td class="num">[% current_line_old + i %]</td>
|
|
<td class="changed"><pre>[% group.minus.$i FILTER html %]</pre></td>
|
|
[% ELSIF i == group.minus.size %]
|
|
[% rowspan = group.plus.size - group.minus.size %]
|
|
<td class="num"[% IF rowspan > 1 %] rowspan="[% rowspan FILTER none %]"[% END %]></td>
|
|
<td class="changed"[% IF rowspan > 1 %] rowspan="[% rowspan FILTER none %]"[% END %]></td>
|
|
[% END %]
|
|
|
|
[% IF i < group.plus.size %]
|
|
<td class="num">[% current_line_new + i %]</td>
|
|
<td class="changed"><pre>[% group.plus.$i FILTER html %]</pre></td>
|
|
[% ELSIF i == group.plus.size %]
|
|
[% rowspan = group.minus.size - group.plus.size %]
|
|
<td class="num"[% IF rowspan > 1 %] rowspan="[% rowspan FILTER none %]"[% END %]></td>
|
|
<td class="changed"[% IF rowspan > 1 %] rowspan="[% rowspan FILTER none %]"[% END %]></td>
|
|
[% END %]
|
|
</tr>
|
|
[% currentloop = currentloop + 1 %]
|
|
[% i = i + 1 %]
|
|
[% END %]
|
|
[% END %]
|
|
[% current_line_old = current_line_old + group.minus.size %]
|
|
[% current_line_new = current_line_new + group.plus.size %]
|
|
[% ELSE %]
|
|
[% FOREACH line = group.plus %]
|
|
[% IF file.is_add %]
|
|
<tr>
|
|
<td class="num">[% current_line_new %]</td>
|
|
<td class="added" colspan="3"><pre>[% line FILTER html %]</pre></td>
|
|
</tr>
|
|
[% ELSE %]
|
|
<tr>
|
|
[% IF loop.first %]
|
|
<td class="num"[% IF group.plus.size > 1 %] rowspan="[% group.plus.size %]"[% END %]></td>
|
|
<td[% IF group.plus.size > 1 %] rowspan="[% group.plus.size %]"[% END %]></td>
|
|
[% END %]
|
|
<td class="num">[% current_line_new %]</td>
|
|
<td class="added"><pre>[% line FILTER html %]</pre></td>
|
|
</tr>
|
|
[% END %]
|
|
[% current_line_new = current_line_new + 1 %]
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF group.minus.size %]
|
|
[% FOREACH line = group.minus %]
|
|
[% IF file.is_remove %]
|
|
<tr>
|
|
<td class="num">[% current_line_old %]</td>
|
|
<td class="removed" colspan="3"><pre>[% line FILTER html %]</pre></td>
|
|
</tr>
|
|
[% ELSE %]
|
|
<tr>
|
|
<td class="num">[% current_line_old %]</td>
|
|
<td class="removed"><pre>[% line FILTER html %]</pre></td>
|
|
[% IF loop.first %]
|
|
<td class="num"[% IF group.minus.size > 1 %] rowspan="[% group.minus.size %]"[% END %]></td>
|
|
<td[% IF group.minus.size > 1 %] rowspan="[% group.minus.size %]"[% END %]></td>
|
|
[% END %]
|
|
</tr>
|
|
[% END %]
|
|
[% current_line_old = current_line_old + 1 %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
</table>
|