Files @ 0ed42ca7ff9e
Branch filter:

Location: kallithea/rhodecode/templates/shortlog/shortlog_data.html - annotation

Marcin Kuzminski
Fixed issue with inproper handling of diff parsing that could lead to infinit loops.
This was an edge case when diff contained diff data inside. Regresion test was
added
## -*- coding: utf-8 -*-
%if c.repo_changesets:
<table class="table_disp">
	<tr>
	    <th class="left">${_('revision')}</th>
        <th class="left">${_('commit message')}</th>
		<th class="left">${_('age')}</th>
		<th class="left">${_('author')}</th>
		<th class="left">${_('branch')}</th>
		<th class="left">${_('tags')}</th>
	</tr>
%for cnt,cs in enumerate(c.repo_changesets):
	<tr class="parity${cnt%2}">
        <td>
          <div>
            <div class="changeset-status-container">
              %if c.statuses.get(cs.raw_id):
                <div class="changeset-status-ico">
                %if c.statuses.get(cs.raw_id)[2]:
                  <a class="tooltip" title="${_('Click to open associated pull request')}" href="${h.url('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
                    <img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses.get(cs.raw_id)[0])}" />
                  </a>
                %else:
                  <img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses.get(cs.raw_id)[0])}" />
                %endif
                </div>
              %endif
            </div>
            <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id)}">r${cs.revision}:${h.short_id(cs.raw_id)}</a></pre>
         </div>
        </td>
        <td>
            ${h.link_to(h.truncate(cs.message,50) or _('No commit message'),
            h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id),
            title=cs.message)}
        </td>
        <td><span class="tooltip" title="${h.tooltip(h.fmt_date(cs.date))}">
                      ${h.age(cs.date)}</span>
        </td>
		<td title="${cs.author}">${h.person(cs.author)}</td>
		<td>
			<span class="logtags">
                %if cs.branch:
				<span class="branchtag">
                    ${cs.branch}
                </span>
                %endif
			</span>
		</td>
		<td>
			<span class="logtags">
				%for tag in cs.tags:
					<span class="tagtag">${tag}</span>
				%endfor
			</span>
		</td>
	</tr>
%endfor

</table>

<script type="text/javascript">
  YUE.onDOMReady(function(){
    YUE.delegate("shortlog_data","click",function(e, matchedEl, container){
        ypjax(e.target.href,"shortlog_data",function(){tooltip_activate();});
        YUE.preventDefault(e);
    },'.pager_link');
  });
</script>

<div class="pagination-wh pagination-left">
${c.repo_changesets.pager('$link_previous ~2~ $link_next')}
</div>
%else:

%if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
<h4>${_('Add or upload files directly via RhodeCode')}</h4>
<div style="margin: 20px 30px;">
  <div id="add_node_id" class="add_node">
      <a class="ui-btn" href="${h.url('files_add_home',repo_name=c.repo_name,revision=0,f_path='')}">${_('add new file')}</a>
  </div>
</div>
%endif


<h4>${_('Push new repo')}</h4>
<pre>
    ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
    ${c.rhodecode_repo.alias} add README # add first file
    ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
    ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
</pre>

<h4>${_('Existing repository?')}</h4>
<pre>
%if h.is_git(c.rhodecode_repo):
    git remote add origin ${c.clone_repo_url}
    git push -u origin master
%else:
    hg push ${c.clone_repo_url}
%endif
</pre>
%endif