1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
3
py:extends="'master.kid'">
5
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
6
<title> ${branch.friendly_name} : files for revision ${change.revno} </title>
13
<h1> <span class="branch-name">${branch.friendly_name}</span> : files for revision ${change.revno}
15
<div> <b>→</b> <a href="${branch.url('/revision', **util.get_context(clear=1, start_revid=revid))}">
16
view revision </a> </div>
17
<div> <b>→</b> <a href="${branch.url('/changes', **util.get_context(clear=1, start_revid=revid))}">
18
view branch changes </a> </div>
22
<!-- !FIXME: this is just copied verbatim from revision.kid -->
23
<div class="revision-info">
26
<th class="author">committed by:</th>
27
<td class="author"> ${util.hide_email(change.author)} </td>
30
<th class="date">date:</th>
31
<td class="date"> ${change.date.strftime('%d %b %Y %H:%M')} </td>
34
<tr py:if="len(change.merge_points) > 0">
35
<th class="children"> merged in: </th>
37
<span py:for="child in change.merge_points">
38
${revision_link(child.revid, '(' + child.revno + util.if_present(' %s', child.branch_nick) + ')', clear=1, start_revid=child.revid)} <br />
42
<tr py:if="len(change.parents) > 1">
43
<th class="parents"> merged from: </th>
45
<span py:for="parent in change.parents"><span py:if="parent.revid != change.parents[0].revid">
46
${revision_link(parent.revid, '(' + parent.revno + util.if_present(' %s', parent.branch_nick) + ')', clear=1, start_revid=parent.revid)} <br />
52
<th class="description">description:</th>
53
<td class="description"><span py:for="line in change.comment_clean">${XML(line)} <br /></span></td>
58
<div class="inventory-path">
59
<b>folder:</b> <span class="folder"> ${path} </span>
62
<table class="inventory" width="100%">
64
<th class="permissions"> Permissions </th>
65
<th> <a href="${branch.url([ '/files', revid ], **util.get_context(sort='filename'))}">Filename</a> </th>
66
<th> <a href="${branch.url([ '/files', revid ], **util.get_context(sort='size'))}">Size</a> </th>
67
<th> Last change </th>
68
<th> <a href="${branch.url([ '/files', revid ], **util.get_context(sort='date'))}">When</a> </th>
73
<tr class="parity1" py:if="updir">
74
<td class="permissions">drwxr-xr-x</td>
75
<td class="filename directory"><a href="${branch.url([ '/files', revid ],
76
**util.get_context(file_id=updir_file_id))}"> (up) </a></td>
77
<td> </td> <td> </td> <td> </td> <td> </td>
80
<tr py:for="file in filelist" class="parity${file.parity}">
81
<td class="permissions"> ${util.fake_permissions(file.kind, file.executable)} </td>
82
<td class="filename ${file.kind}">
83
<a py:if="file.kind=='directory'" href="${branch.url([ '/files', revid ],
84
**util.get_context(file_id=file.file_id))}">${file.filename}/</a>
85
<span py:if="file.kind=='symlink'">${file.filename}@</span>
86
<a py:if="file.kind=='file'" href="${branch.url([ '/annotate', revid ],
87
**util.get_context(file_id=file.file_id))}" title="Annotate ${file.filename}">${file.filename}</a>
89
<td class="size"> <span py:if="file.kind=='file'"> ${util.human_size(file.size)} </span></td>
90
<td class="revision"> ${revision_link(file.revid, util.trunc(file.change.revno, 15), **util.get_context(start_revid=file.revid, file_id=file.file_id))} </td>
91
<td class="date"> ${file.change.date.strftime('%d %b %Y %H:%M')} </td>
92
<td class="changes-link">
93
<a href="${branch.url('/changes', **util.get_context(start_revid=file.revid, file_id=file.file_id))}"
94
title="Changes from ${file.change.revno} affecting ${file.filename}"> → changes </a>
96
<td class="download-link">
97
<a href="${branch.url([ '/download', file.revid, file.file_id, file.filename ])}"
98
title="Download ${file.filename} at revision ${file.change.revno}"> → download </a></td>