Files
@ d162de13caec
Branch filter:
Location: kallithea/rhodecode/templates/changeset/changeset_range.html - annotation
d162de13caec
4.2 KiB
text/html
memory optimizations, call diffs only when needed ie. after checking for binary, and cutoff limit.
reduces memory consumption a lot on binary files ! Additionally checking for binary before the size gives little more performance as well
reduces memory consumption a lot on binary files ! Additionally checking for binary before the size gives little more performance as well
28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 643e4a540ddd 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 643e4a540ddd 28524453bb76 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 643e4a540ddd 28524453bb76 643e4a540ddd 28524453bb76 28524453bb76 134e169f11a4 28524453bb76 e7d7f05217c1 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 e7d7f05217c1 28524453bb76 28524453bb76 e7d7f05217c1 e7d7f05217c1 28524453bb76 28524453bb76 28524453bb76 e7d7f05217c1 28524453bb76 e7d7f05217c1 28524453bb76 e7d7f05217c1 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 28524453bb76 | <%inherit file="/base/base.html"/>
<%def name="title()">
${c.repo_name} ${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)} - ${c.rhodecode_name}
</%def>
<%def name="breadcrumbs_links()">
${h.link_to(u'Home',h.url('/'))}
»
${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
»
${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)}
</%def>
<%def name="page_nav()">
${self.menu('changelog')}
</%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<div class="table">
<div id="body" class="diffblock">
<div class="code-header">
<div>
${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)}
<h3>${_('Compare View')}</h3>
##» <span>${h.link_to(_('raw diff'),
##h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show'))}</span>
##» <span>${h.link_to(_('download diff'),
##h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download'))}</span>
</div>
</div>
</div>
<div id="changeset_compare_view_content">
<div class="container">
<table class="compare_view_commits">
%for cs in c.cs_ranges:
<tr>
<td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
<td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
<td><div class="author">${h.person(cs.author)}</div></td>
<td><span class="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td>
<td><div class="message">${h.link_to(h.wrap_paragraphs(cs.message),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div></td>
</tr>
%endfor
</table>
</div>
<div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
<div class="cs_files">
%for cs in c.cs_ranges:
<div class="cur_cs">r${cs}</div>
%for change,filenode,diff,cs1,cs2 in c.changes[cs.raw_id]:
<div class="cs_${change}">${h.link_to(filenode.path.decode('utf-8','replace'),h.url.current(anchor=h.repo_name_slug('C%s-%s' % (cs.short_id,filenode.path.decode('utf-8','replace')))))}</div>
%endfor
%endfor
</div>
</div>
</div>
%for cs in c.cs_ranges:
%for change,filenode,diff,cs1,cs2 in c.changes[cs.raw_id]:
%if change !='removed':
<div style="clear:both;height:10px"></div>
<div class="diffblock">
<div id="${h.repo_name_slug('C%s-%s' % (cs.short_id,filenode.path.decode('utf-8','replace')))}" class="code-header">
<div class="changeset_header">
<span class="changeset_file">
${h.link_to_if(change!='removed',filenode.path.decode('utf-8','replace'),h.url('files_home',repo_name=c.repo_name,
revision=filenode.changeset.raw_id,f_path=filenode.path.decode('utf-8','replace')))}
</span>
%if 1:
» <span>${h.link_to(_('diff'),
h.url('files_diff_home',repo_name=c.repo_name,f_path=filenode.path.decode('utf-8','replace'),diff2=cs2,diff1=cs1,diff='diff'))}</span>
» <span>${h.link_to(_('raw diff'),
h.url('files_diff_home',repo_name=c.repo_name,f_path=filenode.path.decode('utf-8','replace'),diff2=cs2,diff1=cs1,diff='raw'))}</span>
» <span>${h.link_to(_('download diff'),
h.url('files_diff_home',repo_name=c.repo_name,f_path=filenode.path.decode('utf-8','replace'),diff2=cs2,diff1=cs1,diff='download'))}</span>
%endif
</div>
</div>
<div class="code-body">
%if diff:
${diff|n}
%else:
${_('No changes in this file')}
%endif
</div>
</div>
%endif
%endfor
%endfor
</div>
</%def>
|