##// END OF EJS Templates
git: use force fetch and update for target ref. This solves a case...
git: use force fetch and update for target ref. This solves a case when in PRs a target is force updated and is out of sync. Before we used a pull which --ff-only fails obviosly because two are out of sync. This change uses new logic that resets the target branch according to the source target branch allowing smooth merge simulation.

File last commit:

r2446:acc26706 default
r2784:e8c62649 default
Show More
summary_commits.mako
142 lines | 5.7 KiB | application/x-mako | MakoHtmlLexer
## -*- 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">
<pre><a href="${h.route_path('repo_commit', repo_name=c.repo_name, commit_id=cs.raw_id)}">${h.show_id(cs)}</a></pre>
</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: 2000, scrollTo: false, push: false});
$(document).on('pjax:success', function(){ timeagoActivate(); });
</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