3
3
py:extends="'master.kid'">
5
5
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
6
<title> ${branch.friendly_name} : contents of ${path} at revision ${change.revno} </title>
6
<title> ${branch_name} : contents of ${path} at revision ${change.revno} </title>
13
<h1> <span class="branch-name">${branch.friendly_name}</span> : <span class="annotate-path">${path}</span> (revision ${change.revno})
13
<h1> <span class="branch-name">${branch_name}</span> : <span class="annotate-path">${path}</span> (revision ${change.revno})
14
14
<div class="links">
15
<div> <b>→</b> <a href="${branch.url([ '/files', revid ], **util.get_context(clear=1))}"> browse files </a> </div>
16
<div> <b>→</b> <a href="${branch.url('/revision', **util.get_context(clear=1, start_revid=revid))}"> view revision </a> </div>
17
<div> <b>→</b> <a href="${branch.url('/changes', **util.get_context(clear=1, start_revid=revid, file_id=file_id))}"> view changes to this file </a> </div>
18
<div> <b>→</b> <a href="${branch.url([ '/download', revid, file_id, filename ])}"> download file </a> </div>
15
<div> <b>→</b> <a href="${tg.url([ '/files', revid ])}"> browse files </a> </div>
16
<div> <b>→</b> <a href="${tg.url('/revision', start_revid=revid)}"> view revision </a> </div>
20
<!-- !FIXME: this is just copied verbatim from revision.kid -->
21
<!--div class="revision-info">
24
<th class="author">committed by:</th>
25
<td class="author"> ${util.hide_email(change.author)} </td>
28
<th class="date">date:</th>
29
<td class="date"> ${change.date.strftime('%d %b %Y %H:%M')} </td>
32
<tr py:if="len(change.merge_points) > 0">
33
<th class="children"> merged in: </th>
35
<span py:for="child in change.merge_points">
36
${revlink_path(child.revid, child.revid, '(' + child.revno + util.if_present(' %s', child.branch_nick) + ')', None)}
40
<tr py:if="len(change.parents) > 1">
41
<th class="parents"> merged from: </th>
43
<span py:for="parent in change.parents"><span py:if="parent.revid != change.parents[0].revid">
44
${revlink_path(parent.revid, parent.revid, '(' + parent.revno + util.if_present(' %s', parent.branch_nick) + ')', None)}
50
<th class="description">description:</th>
51
<td class="description"><span py:for="line in change.comment_clean">${XML(line)} <br /></span></td>
22
56
<div class="annotate">
30
64
<tr py:for="line in contents" class="parity${line.parity}">
31
<td class="lineno ${line.status}"><a name="L${line.lineno}"> ${line.lineno} </a></td>
65
<td class="lineno ${line.status}"> ${line.lineno} </td>
32
66
<td class="revno ${line.status}">
33
<a py:if="line.status=='changed'" href="${branch.url('/revision', **util.get_context(clear=1, start_revid=line.change.revid, file_id=file_id))}"
34
title="${line.change.revno} by ${util.hide_email(line.change.author)}, on ${line.change.date.strftime('%d %b %Y %H:%M')} (${util.ago(line.change.date)})">${util.trunc(line.change.revno)}</a>
67
<a py:if="line.status=='changed'" href="${tg.url('/revision', start_revid=line.change.revid, path=path)}"
68
title="${line.change.revno} by ${util.hide_email(line.change.author)}, on ${line.change.date.strftime('%d %b %Y %H:%M')} (${util.ago(line.change.date)})">${line.trunc_revno}</a>
70
<!--td class="author"> ${util.hide_email(line.author)} </td-->
36
71
<td class="text ${line.status}"> ${XML(line.text)} </td>