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