${_('Date')}: ${c.changeset.date}
${_('Author')}: ${c.changeset.author}
${h.wrap_paragraphs(c.changeset.message)}
%if len(c.changeset.parents)>1:
${_('merge')}
%endif
%for p_cs in reversed(c.changeset.parents):
${_('Parent')} ${p_cs.revision}: ${h.link_to(p_cs.short_id,
h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.short_id),title=p_cs.message)}
%endfor
${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.short_id))}
%for tag in c.changeset.tags:
${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.short_id))}
%endfor
${_('Files affected')}
%for change,filenode,diff,cs1,cs2 in c.changes:
${h.link_to(filenode.path,h.url.current(anchor='CHANGE-%s'%filenode.path))}
%endfor
%for change,filenode,diff,cs1,cs2 in c.changes:
%if change !='removed':
%if diff:
${diff|n}
%else:
${_('No changes in this file')}
%endif