##// END OF EJS Templates
Fixed issue with inproper handling of diff parsing that could lead to infinit loops....
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

File last commit:

r3014:02bbd574 beta
r3022:0ed42ca7 beta
Show More
changeset.html
191 lines | 8.8 KiB | text/html | HtmlLexer
fixed some limits in changesets and changelogs
r1130 ## -*- coding: utf-8 -*-
renamed project to rhodecode
r547 <%inherit file="/base/base.html"/>
<%def name="title()">
Vincent Duvert
Better i18n for page titles.
r2417 ${_('%s Changeset') % c.repo_name} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)} - ${c.rhodecode_name}
renamed project to rhodecode
r547 </%def>
<%def name="breadcrumbs_links()">
Takumi IINO
i18n 'Home' in breadcrumbs
r2492 ${h.link_to(_(u'Home'),h.url('/'))}
renamed project to rhodecode
r547 &raquo;
${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
&raquo;
Aras Pranckevicius
changeset: do not uppercase the hash in breadcrumbs
r1956 ${_('Changeset')} - <span class='hash'>r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}</span>
renamed project to rhodecode
r547 </%def>
<%def name="page_nav()">
White-space cleanup
r1888 ${self.menu('changelog')}
renamed project to rhodecode
r547 </%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
Implemented generation of changesets based...
r2995 <script>
var _USERS_AC_DATA = ${c.users_array|n};
var _GROUPS_AC_DATA = ${c.users_groups_array|n};
AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}";
</script>
renamed project to rhodecode
r547 <div class="table">
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 <div class="diffblock">
renamed project to rhodecode
r547 <div class="code-header">
user lowercase (copy safe) hash in changeset
r1949 <div class="hash">
r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
</div>
white space cleanup
r1963 <div class="date">
Vincent Duvert
Added a translatable date formatter for every date displayed.
r2416 ${h.fmt_date(c.changeset.date)}
user lowercase (copy safe) hash in changeset
r1949 </div>
added changeset status into changelog view
r2239 <div class="changeset-status-container">
%if c.statuses:
<div title="${_('Changeset status')}" class="changeset-status-lbl">[${h.changeset_status_lbl(c.statuses[0])}]</div>
<div class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[0])}" /></div>
%endif
</div>
UI fixes...
r1865 <div class="diff-actions">
new patch function, and urls schema....
r2996 <a href="${h.url('changeset_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id)}" class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
<a href="${h.url('changeset_patch_home',repo_name=c.repo_name,revision=c.changeset.raw_id)}" class="tooltip" title="${h.tooltip(_('patch diff'))}"><img class="icon" src="${h.url('/images/icons/page_add.png')}"/></a>
<a href="${h.url('changeset_download_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_save.png')}"/></a>
added hidden fulldiff GET param for disabling big diff cut off limit....
r2161 ${c.ignorews_url(request.GET)}
${c.context_url(request.GET)}
UI fixes...
r1865 </div>
Vincent Duvert
Improved i18n for the comment count (use of ngettext for pluralisation).
r2310 <div class="comments-number" style="float:right;padding-right:5px">${ungettext("%d comment", "%d comments", len(c.comments)) % len(c.comments)} ${ungettext("(%d inline)", "(%d inline)", c.inline_cnt) % c.inline_cnt}</div>
renamed project to rhodecode
r547 </div>
</div>
<div id="changeset_content">
<div class="container">
<div class="left">
<div class="author">
<div class="gravatar">
fixes issue #531, when extracting user email, we check it against the database,...
r2725 <img alt="gravatar" src="${h.gravatar_url(h.email_or_none(c.changeset.author),20)}"/>
renamed project to rhodecode
r547 </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>
removed wrap paragraphs from commit messages as it broke formatting....
r2426 <div class="message">${h.urlify_commit(c.changeset.message, c.repo_name)}</div>
renamed project to rhodecode
r547 </div>
<div class="right">
<div class="changes">
new patch function, and urls schema....
r2996 % if (len(c.changeset.affected_files) <= c.affected_files_cut_off) or c.fulldiff:
renamed project to rhodecode
r547 <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>
fixed some limits in changesets and changelogs
r1130 % else:
<span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
<span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
White-space cleanup
r1888 <span class="added" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
% endif
</div>
fixed initial commit missing parents div,...
r551 %if c.changeset.parents:
renamed project to rhodecode
r547 %for p_cs in reversed(c.changeset.parents):
Aras Pranckevicius
changeset: styling parents
r1857 <div class="parent">${_('Parent')}
<span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${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)}</span></span>
renamed project to rhodecode
r547 </div>
%endfor
White-space cleanup
r1888 %else:
<div class="parent">${_('No parents')}</div>
%endif
renamed project to rhodecode
r547 <span class="logtags">
Aras Pranckevicius
css: merge/branch/tag blurbs
r1856 %if len(c.changeset.parents)>1:
<span class="merge">${_('merge')}</span>
%endif
Fixed empty git commit message issue...
r2231 %if c.changeset.branch:
<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>
%endif
renamed project to rhodecode
r547 %for tag in c.changeset.tags:
<span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
Fixes for raw_id, needed for git...
r636 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
renamed project to rhodecode
r547 %endfor
White-space cleanup
r1888 </span>
</div>
renamed project to rhodecode
r547 </div>
Aras Pranckevicius
changeset: styling a bit
r1858 <span>
Implemented generation of changesets based...
r2995 % if c.limited_diff:
Changed affected to changed, sounds better, and added ungettext translations for this
r3014 ${ungettext('%s file changed','%s files changed',len(c.changeset.affected_files)) % (len(c.changeset.affected_files))}:
Implemented generation of changesets based...
r2995 % else:
Changed affected to changed, sounds better, and added ungettext translations for this
r3014 ${ungettext('%s file changed with %s insertions and %s deletions','%s files changed with %s insertions and %s deletions', len(c.changeset.affected_files)) % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)}:
Implemented generation of changesets based...
r2995 %endif
</span>
renamed project to rhodecode
r547 <div class="cs_files">
Implemented generation of changesets based...
r2995 %for FID, (cs1, cs2, change, path, diff, stats) in c.changes[c.changeset.raw_id].iteritems():
<div class="cs_${change}">
<div class="node">
<a href="#${FID}">${h.safe_unicode(path)}</a>
</div>
<div class="changes">${h.fancy_file_stats(stats)}</div>
</div>
%endfor
% if c.limited_diff:
<h5>${_('Changeset was too big and was cut off...')}</h5>
% endif
White-space cleanup
r1888 </div>
renamed project to rhodecode
r547 </div>
White-space cleanup
r1888
renamed project to rhodecode
r547 </div>
Implemented generation of changesets based...
r2995
White-space cleanup
r1888 ## diff block
code garden for changeset ranges and comments...
r1787 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
Implemented generation of changesets based...
r2995 ${diff_block.diff_block(c.changes[c.changeset.raw_id])}
% if c.limited_diff:
<h4>${_('Changeset was too big and was cut off...')}</h4>
% endif
White-space cleanup
r1888
code garden for changeset ranges and comments...
r1787 ## template for inline comment form
#77 code review...
r1670 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
Enabled inline comments in pull-requests
r2489 ${comment.comment_inline_form()}
White-space cleanup
r1888
Added option to close pull requests, in future that will be close & merge
r2608 ## render comments and inlines
${comment.generate_comments()}
## main comment form and it status
Refactoring of changeset_file_comments for more generic usage. In both It enables sharing code between changeset, and pull requests discussions
r2439 ${comment.comments(h.url('changeset_comment', repo_name=c.repo_name, revision=c.changeset.raw_id),
h.changeset_status(c.rhodecode_db_repo, c.changeset.raw_id))}
Enabled inline comments in pull-requests
r2489 ## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS
#71 code review...
r1674 <script type="text/javascript">
#71 code-review...
r1677 YUE.onDOMReady(function(){
code garden for changeset ranges and comments...
r1787 YUE.on(YUQ('.show-inline-comments'),'change',function(e){
var show = 'none';
var target = e.currentTarget;
Dies Koper
fixed comment addition and deletion functionality on IE9
r2723 if(target == null){
target = this;
}
code garden for changeset ranges and comments...
r1787 if(target.checked){
var show = ''
}
var boxid = YUD.getAttribute(target,'id_for');
var comments = YUQ('#{0} .inline-comments'.format(boxid));
White-space cleanup
r1888 for(c in comments){
code garden for changeset ranges and comments...
r1787 YUD.setStyle(comments[c],'display',show);
}
var btns = YUQ('#{0} .inline-comments-button'.format(boxid));
White-space cleanup
r1888 for(c in btns){
- diff.css merge to main style.css...
r1772 YUD.setStyle(btns[c],'display',show);
White-space cleanup
r1888 }
code garden for changeset ranges and comments...
r1787 })
White-space cleanup
r1888
#71 code-review...
r1677 YUE.on(YUQ('.line'),'click',function(e){
code garden for changeset ranges and comments...
r1787 var tr = e.currentTarget;
Dies Koper
fixed comment addition and deletion functionality on IE9
r2723 if(tr == null){
tr = this;
}
code garden for changeset ranges and comments...
r1787 injectInlineForm(tr);
#71 code review...
r1682 });
White-space cleanup
r1888
#71 code review...
r1682 // inject comments into they proper positions
var file_comments = YUQ('.inline-comment-placeholder');
#415: Adding comment to changeset causes reload...
r2187 renderInlineComments(file_comments);
#71 code-review...
r1677 })
White-space cleanup
r1888
</script>
code garden for changeset ranges and comments...
r1787 </div>
Augusto Herrmann
Added pt_BR localization, added i18n wrappers on some places missing, fixed css in settings screen for longer labels.
r1472 </%def>