|
|
## -*- coding: utf-8 -*-
|
|
|
<%namespace name="base" file="/base/base.mako"/>
|
|
|
%if c.repo_commits:
|
|
|
<table class="rctable repo_summary table_disp">
|
|
|
<tr>
|
|
|
|
|
|
<th class="status" colspan="2"></th>
|
|
|
<th>${_('Commit')}</th>
|
|
|
<th>${_('Commit message')}</th>
|
|
|
<th>${_('Age')}</th>
|
|
|
<th>${_('Author')}</th>
|
|
|
<th>${_('Refs')}</th>
|
|
|
</tr>
|
|
|
|
|
|
## to speed up lookups cache some functions before the loop
|
|
|
<%
|
|
|
active_patterns = h.get_active_pattern_entries(c.repo_name)
|
|
|
urlify_commit_message = h.partial(h.urlify_commit_message, active_pattern_entries=active_patterns)
|
|
|
%>
|
|
|
%for cnt,cs in enumerate(c.repo_commits):
|
|
|
<tr class="parity${cnt%2}">
|
|
|
|
|
|
<td class="td-status">
|
|
|
%if c.statuses.get(cs.raw_id):
|
|
|
<div class="changeset-status-ico shortlog">
|
|
|
%if c.statuses.get(cs.raw_id)[2]:
|
|
|
<a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (c.statuses.get(cs.raw_id)[0], c.statuses.get(cs.raw_id)[2])}" href="${h.route_path('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
|
|
|
<div class="${'flag_status {}'.format(c.statuses.get(cs.raw_id)[0])}"></div>
|
|
|
</a>
|
|
|
%else:
|
|
|
<a class="tooltip" title="${_('Commit status: {}').format(h.commit_status_lbl(c.statuses.get(cs.raw_id)[0]))}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=cs.raw_id,_anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
|
|
|
<div class="${'flag_status {}'.format(c.statuses.get(cs.raw_id)[0])}"></div>
|
|
|
</a>
|
|
|
%endif
|
|
|
</div>
|
|
|
%else:
|
|
|
<div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div>
|
|
|
%endif
|
|
|
</td>
|
|
|
<td class="td-comments">
|
|
|
%if c.comments.get(cs.raw_id,[]):
|
|
|
<a title="${_('Commit has comments')}" href="${h.route_path('repo_commit',repo_name=c.repo_name,commit_id=cs.raw_id,_anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
|
|
|
<i class="icon-comment"></i> ${len(c.comments[cs.raw_id])}
|
|
|
</a>
|
|
|
%endif
|
|
|
</td>
|
|
|
<td class="td-commit">
|
|
|
<code>
|
|
|
<a href="${h.route_path('repo_commit', repo_name=c.repo_name, commit_id=cs.raw_id)}">${h.show_id(cs)}</a>
|
|
|
<i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${cs.raw_id}" title="${_('Copy the full commit id')}"></i>
|
|
|
</code>
|
|
|
</td>
|
|
|
|
|
|
<td class="td-description mid">
|
|
|
<div class="log-container truncate-wrap">
|
|
|
<div class="message truncate" id="c-${cs.raw_id}">${urlify_commit_message(cs.message, c.repo_name)}</div>
|
|
|
</div>
|
|
|
</td>
|
|
|
|
|
|
<td class="td-time">
|
|
|
${h.age_component(cs.date)}
|
|
|
</td>
|
|
|
<td class="td-user author">
|
|
|
${base.gravatar_with_user(cs.author)}
|
|
|
</td>
|
|
|
|
|
|
<td class="td-tags">
|
|
|
<div class="autoexpand">
|
|
|
%if h.is_hg(c.rhodecode_repo):
|
|
|
%for book in cs.bookmarks:
|
|
|
<span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}">
|
|
|
<a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=cs.raw_id, _query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a>
|
|
|
</span>
|
|
|
%endfor
|
|
|
%endif
|
|
|
## tags
|
|
|
%for tag in cs.tags:
|
|
|
<span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}">
|
|
|
<a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=cs.raw_id, _query=dict(at=tag))}"><i class="icon-tag"></i>${h.shorter(tag)}</a>
|
|
|
</span>
|
|
|
%endfor
|
|
|
|
|
|
## branch
|
|
|
%if cs.branch:
|
|
|
<span class="branchtag tag" title="${h.tooltip(_('Branch %s') % cs.branch)}">
|
|
|
<a href="${h.route_path('repo_changelog',repo_name=c.repo_name,_query=dict(branch=cs.branch))}"><i class="icon-code-fork"></i>${h.shorter(cs.branch)}</a>
|
|
|
</span>
|
|
|
%endif
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
%endfor
|
|
|
|
|
|
</table>
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
$(document).pjax('#shortlog_data .pager_link','#shortlog_data', {timeout: 5000, scrollTo: false, push: false});
|
|
|
$(document).on('pjax:success', function(){ timeagoActivate(); });
|
|
|
$(document).on('pjax:timeout', function(event) {
|
|
|
// Prevent default timeout redirection behavior
|
|
|
event.preventDefault()
|
|
|
})
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<div class="pagination-wh pagination-left">
|
|
|
${c.repo_commits.pager('$link_previous ~2~ $link_next')}
|
|
|
</div>
|
|
|
%else:
|
|
|
|
|
|
%if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
|
|
|
<div class="quick_start">
|
|
|
<div class="fieldset">
|
|
|
<div class="left-label">${_('Add or upload files directly via RhodeCode:')}</div>
|
|
|
<div class="right-content">
|
|
|
<div id="add_node_id" class="add_node">
|
|
|
<a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=0, f_path='', _anchor='edit')}" class="btn btn-default">${_('Add New File')}</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
%endif
|
|
|
</div>
|
|
|
|
|
|
%if not h.is_svn(c.rhodecode_repo):
|
|
|
<div class="fieldset">
|
|
|
<div class="left-label">${_('Push new repo:')}</div>
|
|
|
<div class="right-content">
|
|
|
<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>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="fieldset">
|
|
|
<div class="left-label">${_('Existing repository?')}</div>
|
|
|
<div class="right-content">
|
|
|
<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>
|
|
|
</div>
|
|
|
</div>
|
|
|
%endif
|
|
|
</div>
|
|
|
%endif
|
|
|
|