Files @ fe7fa9942015
Branch filter:

Location: kallithea/rhodecode/templates/changeset/changeset.html - annotation

Marcin Kuzminski
limited calculation of added/changed/removed files for large changesets, saving a lot of memory
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
28524453bb76
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
ffd07396d315
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
90eadff2c2a8
1e757ac98988
f57aaf673743
f57aaf673743
f57aaf673743
1e757ac98988
ffd07396d315
ffd07396d315
1e757ac98988
1e757ac98988
f57aaf673743
f57aaf673743
f57aaf673743
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
e7d7f05217c1
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
28524453bb76
e7d7f05217c1
555b68f94c45
555b68f94c45
e7d7f05217c1
e7d7f05217c1
1e757ac98988
1e757ac98988
1e757ac98988
e7d7f05217c1
1e757ac98988
e7d7f05217c1
1e757ac98988
e7d7f05217c1
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
28524453bb76
1e757ac98988
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${c.repo_name} ${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)} - ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(u'Home',h.url('/'))}
    &raquo;
    ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
    &raquo;
    ${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.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 class="diffblock">
			<div class="code-header">
				<div>
				${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
				 &raquo; <span>${h.link_to(_('raw diff'),
				h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show'))}</span>
				 &raquo; <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_content">
			<div class="container">
	             <div class="left">
	                 <div class="date">${_('commit')} ${c.changeset.revision}: ${h.short_id(c.changeset.raw_id)}@${c.changeset.date}</div>
	                 <div class="author">
	                     <div class="gravatar">
	                         <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),20)}"/>
	                     </div>
	                     <span>${h.person(c.changeset.author)}</span><br/>
	                     <span><a href="mailto:${h.email_or_none(c.changeset.author)}">${h.email_or_none(c.changeset.author)}</a></span><br/>
	                 </div>
	                 <div class="message">${h.link_to(h.wrap_paragraphs(c.changeset.message),h.url('changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</div>
	             </div>
	             <div class="right">
		             <div class="changes">
		                 <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span>
		                 <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span>
		                 <span class="added" title="${_('added')}">${len(c.changeset.added)}</span>
		             </div>                  
		                 %if len(c.changeset.parents)>1:
		                 <div class="merge">
		                     ${_('merge')}<img alt="merge" src="${h.url("/images/icons/arrow_join.png")}"/>
		                 </div>
		                 %endif
		                 
		            %if c.changeset.parents:
		             %for p_cs in reversed(c.changeset.parents):
		                 <div class="parent">${_('Parent')} ${p_cs.revision}: ${h.link_to(h.short_id(p_cs.raw_id),
		                     h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}
		                 </div>
		             %endfor
                    %else: 
                        <div class="parent">${_('No parents')}</div>   
                    %endif		             
		         <span class="logtags">
		             <span class="branchtag" title="${'%s %s' % (_('branch'),c.changeset.branch)}">
		             ${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
		             %for tag in c.changeset.tags:
		                 <span class="tagtag"  title="${'%s %s' % (_('tag'),tag)}">
		                 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
		             %endfor
		         </span>                                                                 
	                </div>              
	        </div>
	        <span style="font-size:1.1em;font-weight: bold">${_('Files affected')}</span>
	        <div class="cs_files">
	                %for change,filenode,diff,cs1,cs2 in c.changes:
	                    <div class="cs_${change}">${h.link_to(filenode.path.decode('utf-8','replace'),h.url.current(anchor=h.repo_name_slug('C%s' % filenode.path.decode('utf-8','replace'))))}</div>
	                %endfor
	        </div>         
	    </div>
	    
    </div>
    	
	%for change,filenode,diff,cs1,cs2 in c.changes:
		%if change !='removed':
		<div style="clear:both;height:10px"></div>
		<div class="diffblock">
			<div id="${h.repo_name_slug('C%s' % 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:
					&raquo; <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>
					&raquo; <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>
					&raquo; <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 
    </div>	
</%def>