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}"
15
<script type="text/javascript"
16
tal:attributes="src python:branch.static_url('/static/javascript/collapse.js')">
10
title string:RSS feed for ${branch/friendly_name}" />
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">
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
<span metal:use-macro="breadcrumbs/directory"></span>
26
<tal:block condition="changes">
28
<tal:block condition="filter_file_id">to <span tal:content="python:history.get_path(revid, filter_file_id)" /></tal:block>
29
<tal:block condition="start_revid">from revision
30
<span tal:content="python:history.get_revno(start_revid)"/>
32
<tal:block condition="query">matching <tal:block content="query" /></tal:block>
37
<div metal:fill-slot="content">
38
<!-- Something nicer-looking should be done with search -->
44
39
<p tal:condition="search_failed">
45
40
Sorry, no results found for your search.
52
<p tal:condition="changes"
54
<tal:b content="structure python:collapse_all_button('cl', branch)" />
57
<table class="log-entries"
58
tal:define="subcolspan python:4-bool(all_same_author)">
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 '+entry.revno;
81
href python:url(['/revision', entry.revno])"
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, branch)">
90
<a tal:attributes="title python:'Show revision '+entry.revno;
91
href python:url(['/revision', entry.revno])"
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.revno]);
105
title string:Files at revision ${entry/revno}">
47
<p class="fr revnolink">From Revision <a tal:attributes="href #
48
title python:'Show revision '+history.get_revno(revid)"
49
tal:content="python:history.get_revno(revid)"></a>
50
<tal:block tal:condition="python:navigation.last_in_page_revid is not None"> to
51
<a tal:attributes="href #
52
title 'Show revision '+history.get_revno(navigation.last_in_page_revid)"
53
tal:content="python:history.get_revno(navigation.last_in_page_revid)"></a>
55
<p class="expand" id="expand_all"><a tal:attributes="href string:javascript:toggle_expand_all('open')">
56
<img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png')"
57
alt="expand all" /> expand all</a>
59
<p class="expand" id="collapse_all" style="display:none;"><a tal:attributes="href string:javascript:toggle_expand_all('close')">
60
<img tal:attributes="src python:branch.static_url('/static/images/treeExpanded.png')"
61
alt="collapse all" /> collapse all</a>
64
<table id="logentries">
65
<tr class="logheader">
66
<td class="revisionnumber">Rev</td>
67
<td class="expandcell"> </td>
68
<td class="summarycell">Summary</td>
69
<td class="authorcell">Author</td>
70
<td class="datecell">Date</td>
71
<td class="diffcell">Diff</td>
72
<td class="downloadcell">Files</td>
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.revno)"
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.revno)"
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)" />
74
<tal:block tal:repeat="entry changes">
75
<a tal:attributes="name string:entry-${entry/revno}"/>
76
<tr tal:attributes="class string:blueRow${entry/parity} revision_log">
77
<td class="revnro revnolink"><a tal:attributes="title python:'Show revision '+entry.revno;
78
href python:url(['/revision', entry.revno], clear=1)"
79
tal:content="python:util.trunc(entry.revno)"></a>
82
<div class="expand_revisioninfo">
83
<!-- So, this is interesting. I'm using "alt" to have the correct URL for the image of the expanded icon
84
and "title" tag for the contracted URL of the image. This is a bit of a hack, but it's better than
85
other approaches I tried :) -->
86
<img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png');
87
alt python:branch.static_url('/static/images/treeExpanded.png');
88
title python:branch.static_url('/static/images/treeCollapsed.png')"
89
class="expand_icon" />
92
<td class="summcell"><div tal:attributes="class string:short_description">
93
<a tal:attributes="title python:'Show revision '+entry.revno;
94
href python:url(['/revision', entry.revno], clear=1);
96
tal:content="entry/short_comment"></a>
98
<div tal:attributes="class string:long_description;
99
style string:display:none">
100
<a tal:attributes="title python:'Show revision '+entry.revno;
101
href python:url(['/revision', entry.revno], clear=1);
103
tal:content="entry/comment"></a>
105
<div class="revisioninfo" style="display:none;">
106
<ul class="expandrev">
107
<li class="mfrom" tal:repeat="parent python:entry.parents[1:]">
108
<span class="revnolink">
109
<a tal:attributes="href python:url(['/changes', parent.revno])"
110
tal:content="parent/revno"></a>
112
<a tal:condition="parent.branch_nick"
113
tal:attributes="href python:url(['/changes'], start_revid=parent.revno)"
114
tal:content="python:'(' + parent.branch_nick + ')'"
115
title="Show history" class="link"></a>
117
<li class="mto" tal:repeat="merge_point entry/merge_points">
118
<a tal:attributes="href python:url(['/changes'], start_revid=merge_point.revno)"
119
tal:content="python:revno_with_nick(merge_point)"
120
title="Show history" class="link"></a>
122
<li class="committerli" tal:content="python:util.hide_email(entry.author)"></li>
123
<tal:block content="structure python:file_change_summary(url, entry, modified_file_link_log)" />
127
<td tal:content="python:util.trunc(util.hide_email(entry.author), 20)"
128
class="autcell"></td>
130
<span tal:attributes="title python:util.date_time(entry.date)"
131
tal:content="python:util._approximatedate(entry.date)"></span>
133
<td class="diffr"><a tal:attributes="title python:'Show diff at revision '+entry.revno;
134
href python:url(['/revision', entry.revno], clear=1)">
135
<img tal:attributes="src python:branch.static_url('/static/images/ico_diff.gif')" alt="Diff" /></a></td>
136
<td class="downr"><a tal:attributes="href python:branch.url(['/files', entry.revno]);
137
title string:Files at revision ${entry/revno}">
138
<img tal:attributes="src python:branch.static_url('/static/images/ico_file.gif')" alt="Files" /></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">
144
<ul tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
146
<li tal:condition="navigation/prev_page_revid"
148
<a tal:attributes="href navigation/prev_page_url">« Previous</a>
150
<!-- FIXME: Leaving this to eventually show page numbers. Can't show all of them,
151
so some magic has to be done to just show the previous and next N page numbers
153
<li class="active">1</li>
154
<tal:block tal:repeat="page_number python:range(navigation.page_count)">
156
tal:content="page_number"></a></li>
158
<li tal:condition="navigation/next_page_revid"
160
<a tal:attributes="href navigation/next_page_url">Next »</a>