3
3
<html xmlns="http://www.w3.org/1999/xhtml" metal:use-macro="macros/main">
5
5
<title metal:fill-slot="title"
6
tal:content="string:${branch/friendly_name} : contents of ${path}
6
tal:content="string:${branch/friendly_name} : contents of ${file_path}
7
7
at revision ${change/revno}">
9
9
<metal:block fill-slot="header_extras">
10
10
<link rel="stylesheet" type="text/css" media="all"
11
tal:attributes="href python:branch.static_url('/static/css/annotate.css')"/>
11
tal:attributes="href python:branch.static_url('/static/css/view.css')"/>
12
<link rel="stylesheet" type="text/css" media="all"
13
tal:attributes="href python:branch.static_url('/static/css/highlight.css')"/>
17
<h1 metal:fill-slot="heading">
18
<tal:block content="branch/friendly_name"></tal:block>
19
<span>: <span tal:content="path"></span> (revision <tal:revno content="change/revno"></tal:revno>)</span>
18
<tal:block metal:fill-slot="backlink">
19
<tal:has-link condition="branch/branch_link">
20
<div class="black-link">
21
<a tal:attributes="href branch/branch_link">
22
← Back to branch summary
27
<tal:block metal:fill-slot="branchname" tal:content="string:${branch/friendly_name}" />
28
<tal:block metal:fill-slot="heading">
29
<div id="breadcrumbs">
30
<tal:has-link condition="branch/branch_link">
31
<a tal:attributes="href branch/branch_link"
32
tal:content="branch/friendly_name">
36
<tal:no-link condition="not: branch/branch_link">
37
<span metal:use-macro="breadcrumbs/directory"></span>
39
<span>: <span metal:use-macro="breadcrumbs/branch" /> (revision <tal:revno content="change/revno"></tal:revno>)</span>
22
43
<div metal:fill-slot="content">
44
<tal:branch-info replace="structure python:branchinfo(branch)" />
23
46
<ul id="submenuTabs">
25
48
<a tal:attributes="href python:url(['/files', change.revno], clear=1)">browse files</a>
28
<a tal:attributes="href python:url(['/revision'], clear=1, start_revid=change.revno)">view revision</a>
31
<a tal:attributes="href python:url(['/changes'], clear=1, start_revid=change.revno, filter_file_id=file_id)">view changes to this file</a>
34
<a tal:attributes="href python:url(['/download', change.revno, file_id, filename])">download file</a>
50
<li tal:condition="not:annotated">
51
<a tal:attributes="href python:url(['/annotate', revno_url, file_path], clear=1)"
52
>view with revision information</a>
54
<li tal:condition="annotated">
55
<a tal:attributes="href python:url(['/view', revno_url, file_path], clear=1)"
56
>view without revision information</a>
59
<a tal:attributes="href python:url(['/revision', change.revno], clear=1)">view revision</a>
62
<a tal:attributes="href python:url(['/changes'], clear=1, filter_file_id=file_id)"
63
>view changes to this file</a>
66
<a tal:attributes="href python:url(['/download',
67
revno_url, file_id, filename])"
38
<div class="annotate">
39
73
<table id="logentries">
40
<tr class="logheader">
41
<td class="annoLineTit">Line</td>
42
<td class="annoRevTit">Revision</td>
43
<td class="annoContTit">Contents</td>
74
<tal:rep tal:repeat="line contents">
76
<td tal:condition="python:path('repeat/line/number') in annotated"
77
tal:define="anno python:annotated.get(path('repeat/line/number'), None)"
78
tal:attributes="rowspan python:anno.revspan"
80
<a tal:content="python:'%s' % (anno.change.revno,)"
81
tal:attributes="href python:url(['/revision', anno.change.revno], clear=1);
82
title python:'%s by %s, on %s (%s)' % (anno.change.revno, ', '.join(util.hide_emails(anno.change.authors)), anno.change.date.strftime('%d %b %Y %H:%M'), util.date_time(anno.change.date))"></a>
83
<span class="viewAuthors" tal:content="python:'by ' + ', '.join(util.hide_emails(anno.change.authors))" />
46
<tr tal:repeat="line contents"
47
tal:attributes="class string:blueRow${line/parity}">
48
<td class="annoLine" tal:content="line/lineno">1</td>
50
<a tal:condition="python:line.status=='changed'"
51
tal:content="python:util.trunc(line.change.revno)"
52
tal:attributes="href python:url(['/revision'], clear=1, start_revid=line.change.revno, filter_file_id=file_id);
53
title python:'%s by %s, on %s (%s)'%(line.change.revno, util.hide_email(line.change.author), line.change.date.strftime('%d %b %Y %H:%M'), util.date_time(line.change.date))"></a>
55
<td class="annoCont" tal:content="line/text"></td>
86
<span tal:content="python:anno.message"></span>
88
<td tal:attributes="class python:path('repeat/line/number') in annotated and 'viewLine first' or 'viewLine'">
89
<a tal:attributes="id string:L${repeat/line/number}; href string:#L${repeat/line/number}"
90
tal:content="repeat/line/number">1</a>
92
<td class="viewCont"><pre tal:content="structure line"></pre></td>