31
31
Sorry, no results found for your search.
34
<span py:if="not changes">
34
38
<span py:if="not search_failed" class="changelog"> ${collapse_all_button('cl')} </span>
36
<div class="log-entries">
40
<table class="log-entries">
41
<tr class="log-header">
42
<th class="revision-number">Rev</th>
44
<th class="summary">Summary</th>
45
<span py:strip="True" py:if="all_same_author">
48
<span py:strip="True" py:if="not all_same_author">
49
<th class="author">Committer</th>
51
<th class="date" colspan="2">Date</th>
37
53
<div py:for="entry in changes" class="revision">
38
54
<a name="entry-${entry.revno}" />
39
<div class="revision-header">
55
<tr class="revision-header parity${entry.parity}">
56
<td class="revision-number"> ${revision_link(entry.revid, util.trunc(entry.revno))} </td>
57
<td class="expand-button"> ${collapse_button('cl', entry.revno)} </td>
58
<td class="summary"> ${revision_link(entry.revid, entry.short_comment)} </td>
59
<span py:strip="True" py:if="all_same_author">
62
<span py:strip="True" py:if="not all_same_author">
63
<td class="author"> ${util.trunc(util.hide_email(entry.author), 20)} </td>
65
<td class="date"> ${entry.date.strftime('%Y-%m-%d, %H:%M')} (${util.ago(entry.date)}) </td>
66
<td class="inventory-link">
67
<a href="${branch.url([ '/files', entry.revid ])}"
68
title="Files at revision ${entry.revno}"> files</a>
72
<tr class="revision-details-block parity${entry.parity}">
74
<td colspan="4"><table class="revision-details hidden-details collapse-cl-${entry.revno}-content">
75
<tr py:if="len(entry.merge_points) > 0">
76
<th class="children"> merged in: </th>
78
<span py:for="child in entry.merge_points">
79
${loglink(child.revid, '(' + child.revno + util.if_present(' %s', child.branch_nick) + ')')} <br />
83
<tr py:if="len(entry.parents) > 1">
84
<th class="parents"> merged from: </th>
86
<span py:for="parent in entry.parents"><span py:if="parent.revid != entry.parents[0].revid">
87
${loglink(parent.revid, '(' + parent.revno + util.if_present(' %s', parent.branch_nick) + ')')} <br />
91
<span py:strip="True" py:if="all_same_author">
93
<th class="author">committed by:</th>
94
<td class="author"> ${util.hide_email(entry.author)} </td>
42
<td class="revision-number"> ${revision_link(entry.revid, util.trunc(entry.revno))} </td>
43
<td class="expand-button"> ${collapse_button('cl', entry.revno)} </td>
44
<td class="summary"> ${revision_link(entry.revid, entry.short_comment)} </td>
45
<td class="inventory-link"> <a href="${branch.url([ '/files', entry.revid ])}">→ files</a> </td>
50
<div class="revision-details-block">
51
<div class="revision-details">
54
<th class="author">committed by:</th>
55
<td class="author"> ${util.hide_email(entry.author)} </td>
58
<th class="date">date:</th>
59
<td class="date"> ${entry.date.strftime('%d %b %Y %H:%M')} (${util.ago(entry.date)}) </td>
63
<div class="revision-details hidden-details collapse-cl-${entry.revno}-content">
65
<tr py:if="len(entry.merge_points) > 0">
66
<th class="children"> merged in: </th>
68
<span py:for="child in entry.merge_points">
69
${loglink(child.revid, '(' + child.revno + util.if_present(' %s', child.branch_nick) + ')')} <br />
73
<tr py:if="len(entry.parents) > 1">
74
<th class="parents"> merged from: </th>
76
<span py:for="parent in entry.parents"><span py:if="parent.revid != entry.parents[0].revid">
77
${loglink(parent.revid, '(' + parent.revno + util.if_present(' %s', parent.branch_nick) + ')')} <br />
82
<tr py:if="entry.changes.added">
83
<th class="files"> files added: </th>
84
<td class="files"> <span py:for="filename, fid in entry.changes.added" class="filename">${file_link(filename, fid, entry.revid)} <br /></span> </td>
86
<tr py:if="entry.changes.removed">
87
<th class="files"> files removed: </th>
88
<td class="files"> <span py:for="filename, fid in entry.changes.removed" class="filename">${file_link(filename, fid, entry.revid)} <br /></span> </td>
90
<tr py:if="entry.changes.renamed">
91
<th class="files"> files renamed: </th>
92
<td class="files"> <span py:for="old_filename, new_filename, fid in entry.changes.renamed" class="filename">
93
${file_link(old_filename, fid, entry.revid)} => ${file_link(new_filename, fid, entry.revid)}<br />
96
<tr py:if="entry.changes.modified">
97
<th class="files"> files modified: </th>
98
<td class="files"> <span py:for="item in entry.changes.modified">
99
<span class="filename">${file_link(item.filename, item.file_id, entry.revid)}</span>
100
<a href="${branch.url([ '/revision', entry.revid ], **util.get_context()) + '#' + item.filename}" class="jump">→ diff</a>
105
<th class="description">description:</th>
106
<td class="description"><span py:for="line in entry.comment_clean">${XML(line)} <br /></span> </td>
98
<th class="description">description:</th>
99
<td class="description"><span py:for="line in entry.comment_clean">${XML(line)} <br /></span> </td>
101
<tr py:if="entry.changes.added">
102
<th class="files"> files added: </th>
103
<td class="files"> <span py:for="filename, fid in entry.changes.added" class="filename">${file_link(filename, fid, entry.revid)} <br /></span> </td>
105
<tr py:if="entry.changes.removed">
106
<th class="files"> files removed: </th>
107
<td class="files"> <span py:for="filename, fid in entry.changes.removed" class="filename">${file_link(filename, fid, entry.revid)} <br /></span> </td>
109
<tr py:if="entry.changes.renamed">
110
<th class="files"> files renamed: </th>
111
<td class="files"> <span py:for="old_filename, new_filename, fid in entry.changes.renamed" class="filename">
112
${file_link(old_filename, fid, entry.revid)} => ${file_link(new_filename, fid, entry.revid)}<br />
115
<tr py:if="entry.changes.modified">
116
<th class="files"> files modified: </th>
117
<td class="files"> <span py:for="item in entry.changes.modified">
118
<span class="filename">${file_link(item.filename, item.file_id, entry.revid)}</span>
119
<a href="${branch.url([ '/revision', entry.revid ], **util.get_context()) + '#' + item.filename}" class="jump">→ diff</a>
114
129
<div py:if="navigation.prev_page_revid or navigation.next_page_revid" class="bar">