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} : changes"></title>
6
tal:content="string:${branch/friendly_name} : changes">
7
${branch.friendly_name} : changes
7
9
<metal:block fill-slot="header_extras">
8
10
<link rel="alternate" type="application/atom+xml"
9
11
tal:attributes="href python:url(['/atom']);
10
title string:RSS feed for ${branch/friendly_name}" />
12
title string:RSS feed for ${branch/friendly_name}"
15
<script type="text/javascript"
16
tal:attributes="src python:tg.url('/static/javascript/collapse.js')">
15
<tal:block metal:fill-slot="heading">
17
<tal:has-link condition="branch/branch_link">
18
<a tal:attributes="href branch/branch_link"
19
tal:content="branch/friendly_name">
23
<tal:no-link condition="not: branch/branch_link">
24
<tal:branch-name replace="branch/friendly_name" />
27
<tal:block condition="filter_file_id">to <span tal:content="python:history.get_path(revid, filter_file_id)" /></tal:block>
28
<tal:block condition="start_revid">from revision <tal:block content="python:history.get_revno(start_revid)" /></tal:block>
29
<tal:block condition="query">matching <tal:block content="query" /></tal:block>
33
<div metal:fill-slot="content">
34
<!-- Something nicer-looking should be done with search -->
23
<h1 style="margin-bottom: 1em" metal:fill-slot="heading">
24
<span class="branch-name" tal:content="branch/friendly_name">
25
${branch.friendly_name}
28
<tal:block condition="filter_file_id">
30
<span class="filename"
31
tal:content="python:history.get_path(revid, filter_file_id)">
34
<tal:block condition="viewing_from">
35
from <tal:block content="python:history.get_revno(start_revid)" />
37
<tal:block condition="query">
38
matching <tal:block content="query" />
42
<div metal:fill-slot="content">
35
44
<p tal:condition="search_failed">
36
45
Sorry, no results found for your search.
43
<p class="fr revnolink">From Revision <a tal:attributes="href #
44
title python:'Show revision '+history.get_revno(revid)"
45
tal:content="python:history.get_revno(revid)"></a>
46
<tal:block tal:condition="python:navigation.last_in_page_revid is not None"> to
47
<a tal:attributes="href #
48
title 'Show revision '+history.get_revno(navigation.last_in_page_revid)"
49
tal:content="python:history.get_revno(navigation.last_in_page_revid)"></a>
51
<p class="expand" id="expand_all"><a tal:attributes="href string:javascript:toggle_expand_all('open')">
52
<img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png')"
53
alt="expand all" /> expand all</a>
55
<p class="expand" id="collapse_all" style="display:none;"><a tal:attributes="href string:javascript:toggle_expand_all('close')">
56
<img tal:attributes="src python:branch.static_url('/static/images/treeExpanded.png')"
57
alt="collapse all" /> collapse all</a>
60
<table id="logentries"
52
<p tal:condition="changes"
54
<tal:b content="structure python:collapse_all_button('cl')" />
57
<table class="log-entries"
61
58
tal:define="subcolspan python:4-bool(all_same_author)">
62
<tr class="logheader">
63
<td class="revisionnumber">Rev</td>
64
<td class="expandcell"> </td>
65
<td class="summarycell">Summary</td>
66
<td class="authorcell">Author</td>
67
<td class="datecell">Date</td>
68
<td class="diffcell">Diff</td>
69
<td class="downloadcell">Files</td>
59
<tr class="log-header">
60
<th class="revision-number">
68
<th tal:condition="not:all_same_author"
72
<th class="date" colspan="2">
76
<tal:block tal:repeat="entry changes">
77
<a tal:attributes="name string:entry-${entry/revno}" />
78
<tr tal:attributes="class string:revision-header parity${entry/parity}">
79
<td class="revision-number">
80
<a tal:attributes="title python:'Show revision '+history.get_revno(entry.revid);
81
href python:url(['/revision', entry.revid])"
82
tal:content="python:util.trunc(entry.revno)">
86
<td class="expand-button" tal:define="name entry/revno"
87
tal:content="structure python:collapse_button('cl', entry.revno)">
90
<a tal:attributes="title python:'Show revision '+history.get_revno(entry.revid);
91
href python:url(['/revision', entry.revid])"
92
tal:content="entry/short_comment">
96
<td tal:condition="not:all_same_author"
97
tal:content="python:util.trunc(util.hide_email(entry.author), 20)"
100
<span tal:attributes="title python:util.date_time(entry.date)"
101
tal:content="python:util._approximatedate(entry.date)"></span>
103
<td class="inventory-link">
104
<a tal:attributes="href python:branch.url(['/files', entry.revid]);
105
title string:Files at revision ${entry/revno}">
71
<tal:block tal:repeat="entry changes">
72
<a tal:attributes="name string:entry-${entry/revno}"/>
73
<tr tal:attributes="class string:blueRow${entry/parity} revision_log">
74
<td class="revnro revnolink"><a tal:attributes="title python:'Show revision '+entry.revno;
75
href python:url(['/revision', entry.revno], clear=1)"
76
tal:content="python:util.trunc(entry.revno)"></a>
79
<div class="expand_revisioninfo">
80
<!-- So, this is interesting. I'm using "alt" to have the correct URL for the image of the expanded icon
81
and "title" tag for the contracted URL of the image. This is a bit of a hack, but it's better than
82
other approaches I tried :) -->
83
<img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png');
84
alt python:branch.static_url('/static/images/treeExpanded.png');
85
title python:branch.static_url('/static/images/treeCollapsed.png')"
86
class="expand_icon" />
89
<td class="summcell"><div tal:attributes="class string:short_description">
90
<a tal:attributes="title python:'Show revision '+entry.revno;
91
href python:url(['/revision', entry.revno], clear=1);
93
tal:content="entry/short_comment"></a>
95
<div tal:attributes="class string:long_description;
96
style string:display:none">
97
<a tal:attributes="title python:'Show revision '+entry.revno;
98
href python:url(['/revision', entry.revno], clear=1);
100
tal:content="entry/comment"></a>
102
<div class="revisioninfo" style="display:none;">
103
<ul class="expandrev">
104
<li class="mfrom" tal:repeat="parent python:entry.parents[1:]">
105
<span class="revnolink">
106
<a tal:attributes="href python:url(['/changes', parent.revno])"
107
tal:content="parent/revno"></a>
109
<a tal:condition="parent.branch_nick"
110
tal:attributes="href python:url(['/changes'], start_revid=parent.revno)"
111
tal:content="python:'(' + parent.branch_nick + ')'"
112
title="Show history" class="link"></a>
114
<li class="mto" tal:repeat="merge_point entry/merge_points">
115
<a tal:attributes="href python:url(['/changes'], start_revid=merge_point.revno)"
116
tal:content="python:revno_with_nick(merge_point)"
117
title="Show history" class="link"></a>
119
<li class="committerli" tal:content="python:util.hide_email(entry.author)"></li>
120
<tal:block content="structure python:file_change_summary(url, entry, modified_file_link_log)" />
124
<td tal:content="python:util.trunc(util.hide_email(entry.author), 20)"
125
class="autcell"></td>
127
<span tal:attributes="title python:util.date_time(entry.date)"
128
tal:content="python:util._approximatedate(entry.date)"></span>
130
<td class="diffr"><a tal:attributes="title python:'Show diff at revision '+entry.revno;
131
href python:url(['/revision', entry.revno], clear=1)">
132
<img tal:attributes="src python:branch.static_url('/static/images/ico_diff.gif')" alt="Diff" /></a></td>
133
<td class="downr"><a tal:attributes="href python:branch.url(['/files', entry.revno]);
134
title string:Files at revision ${entry/revno}">
135
<img tal:attributes="src python:branch.static_url('/static/images/ico_file.gif');
136
alt string:Files" /></a>
111
<tr tal:attributes="class string:revision-details-block parity${entry/parity}">
114
<td tal:attributes="colspan subcolspan">
115
<table tal:attributes="class string:revision-details hidden-details collapse-cl-${entry/revno}-content">
116
<tr tal:repeat="merge_point entry/merge_points">
117
<th class="children">
118
<tal:block condition="repeat/merge_point/start">
122
<td class="children">
123
<a title="Show history"
124
tal:attributes="href python:url(['/changes'], start_revid=merge_point.revid)"
125
tal:content="python:revno_with_nick(merge_point)">
131
<tr tal:repeat="parent python:entry.parents[1:]">
133
<tal:block condition="repeat/parent/start">
138
<a title="Show history"
139
tal:attributes="href python:url(['/changes'], start_revid=parent.revid)"
140
tal:content="python:revno_with_nick(parent)">
146
<tr tal:condition="all_same_author">
150
<td class="author" tal:content="python:util.hide_email(entry.author)">
151
${util.hide_email(entry.author)}
155
<th class="description">
158
<td class="description">
159
<tal:block repeat="line entry/comment_clean"
160
content="structure string:${line}<br />" />
163
<tal:block content="structure python:file_change_summary(url, entry, modified_file_link_log)" />
142
<ul tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
144
<li tal:condition="navigation/prev_page_revid"
146
<a tal:attributes="href navigation/prev_page_url">« Previous</a>
148
<!-- FIXME: Leaving this to eventually show page numbers. Can't show all of them,
149
so some magic has to be done to just show the previous and next N page numbers
151
<li class="active">1</li>
152
<tal:block tal:repeat="page_number python:range(navigation.page_count)">
154
tal:content="page_number"></a></li>
156
<li tal:condition="navigation/next_page_revid"
158
<a tal:attributes="href navigation/next_page_url">Next »</a>
170
<div tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
175
<a tal:condition="navigation/prev_page_revid"
176
tal:attributes="href navigation/prev_page_url">
180
<td class="rbuttons" align="right">
181
<a tal:condition="navigation/next_page_revid"
182
tal:attributes="href navigation/next_page_url">