~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/revision.kid

  • Committer: Robert Collins
  • Date: 2012-02-03 01:37:21 UTC
  • mfrom: (466.1.2 bug-728209)
  • Revision ID: robertc@robertcollins.net-20120203013721-5ntnp45xb9in5eo6
    - Avoid crashing when viewing or annotating a non-existent file.
      (William Grant, #728209)

Show diffs side-by-side

added added

removed removed

Lines of Context:
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'">
4
 
<head>
5
 
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
6
 
    <title> ${branch_name} : revision ${change.revno} </title>
7
 
    
8
 
    <span py:def="file_link(filename, file_id)">
9
 
        <a href="${tg.url([ '/annotate', revid ], file_id=file_id)}" title="Annotate ${filename}">${filename}</a>
10
 
    </span>
11
 
</head>
12
 
 
13
 
<body>
14
 
 
15
 
${navbar()}
16
 
 
17
 
<h1> <span class="branch-name">${branch_name}</span> : revision ${change.revno}
18
 
        <div class="links">
19
 
            <div> <b>&#8594;</b> <a href="${tg.url([ '/files', revid ])}">browse files</a> </div>
20
 
            <div> <b>&#8594;</b> <a href="${tg.url('/changes', start_revid=revid)}">view branch changes</a> </div>
21
 
        </div>
22
 
</h1>
23
 
 
24
 
<div class="revision-info">
25
 
    <table>
26
 
        <tr>
27
 
            <th class="author">committed by:</th>
28
 
            <td class="author"> ${util.hide_email(change.author)} </td>
29
 
        </tr>
30
 
        <tr>
31
 
            <th class="date">date:</th>
32
 
            <td class="date"> ${change.date.strftime('%d %b %Y %H:%M')} </td>
33
 
        </tr>
34
 
 
35
 
        <tr py:if="len(change.merge_points) > 0">
36
 
            <th class="children"> merged in: </th>
37
 
            <td class="children">
38
 
                <span py:for="child in change.merge_points">
39
 
                    ${revlink(child.revid, child.revid, None, '(' + child.revno + util.if_present(' %s', child.branch_nick) + ')')} <br /> 
40
 
                </span>
41
 
            </td>
42
 
        </tr>
43
 
        <tr py:if="len(change.parents) > 1">
44
 
                <th class="parents"> merged from: </th>
45
 
                <td class="parents">
46
 
                    <span py:for="parent in change.parents"><span py:if="parent.revid != change.parents[0].revid">
47
 
                        ${revlink(parent.revid, parent.revid, None, '(' + parent.revno + util.if_present(' %s', parent.branch_nick) + ')')} <br />
48
 
                    </span></span>
49
 
                </td>
50
 
        </tr>
51
 
 
52
 
        <tr>
53
 
            <th class="description">description:</th>
54
 
            <td class="description"><span py:for="line in change.comment_clean">${XML(line)} <br /></span> </td>
55
 
        </tr>
56
 
        
57
 
        <tr class="divider"> <th></th> <td></td> </tr>
58
 
        
59
 
        <tr py:if="change.changes.added">
60
 
            <th class="files"> files added: </th>
61
 
            <td class="files"> <span py:for="filename, file_id in change.changes.added" class="filename">${file_link(filename, file_id)} <br /></span> </td>
62
 
        </tr>
63
 
        <tr py:if="change.changes.removed">
64
 
            <th class="files"> files removed: </th>
65
 
            <td class="files"> <span py:for="filename, file_id in change.changes.removed" class="filename">${file_link(filename, file_id)} <br /></span> </td>
66
 
        </tr>
67
 
        <tr py:if="change.changes.renamed">
68
 
            <th class="files"> files renamed: </th>
69
 
            <td class="files"> <span py:for="old_filename, new_filename, file_id in change.changes.renamed" class="filename">
70
 
                ${file_link(old_filename, file_id)} => ${file_link(new_filename, file_id)}<br />
71
 
            </span> </td>
72
 
        </tr>
73
 
        <tr py:if="change.changes.modified">
74
 
            <th class="files"> files modified: </th>
75
 
            <td class="files">
76
 
                <span py:for="item in change.changes.modified">
77
 
                    <span class="filename">${file_link(item.filename, item.file_id)}</span> &nbsp; <a href="#${item.filename}" class="jump">&#8594; diff</a><br />
78
 
                </span>
79
 
            </td>
80
 
        </tr>
81
 
    </table>
82
 
</div>
83
 
 
84
 
<table class="diff-key" py:if="change.changes.modified"><tr>
85
 
    <td> <div class="diff-key-block diff-insert"></div> <span class="label"> added </span> </td>
86
 
        <td> <div class="diff-key-block diff-delete"></div> <span class="label"> removed </span> </td>
87
 
</tr></table>
88
 
 
89
 
<div class="diff" py:if="change.changes.modified">
90
 
    <table py:for="item in change.changes.modified" class="diff-block">
91
 
        <tr><th class="filename"> <a href="${tg.url([ '/annotate', change.revid ], file_id=item.file_id)}" name="${item.filename}">${item.filename}</a> </th></tr>
92
 
        <tr><td>
93
 
            <table py:for="chunk in item.chunks" class="diff-chunk">
94
 
                <tr> <th class="lineno">old</th> <th class="lineno">new</th> <th></th> </tr>
95
 
                <tr py:for="line in chunk.diff">
96
 
                    <td class="lineno">${line.old_lineno}</td>
97
 
                    <td class="lineno">${line.new_lineno}</td>
98
 
                    <td class="diff-${line.type} text">${XML(line.line)}</td>
99
 
                </tr>
100
 
            </table>
101
 
        </td></tr>
102
 
    </table>
103
 
</div>
104
 
 
105
 
<div py:if="navigation.prev_page_revid or navigation.next_page_revid" class="bar">
106
 
    <table>
107
 
        <tr>
108
 
                <td class="buttons">
109
 
                <a py:if="navigation.prev_page_revid" href="${navigation.prev_page_url}"> &lt; revision ${history.get_revno(navigation.prev_page_revid)} </a>
110
 
                        </td>
111
 
                        <td class="rbuttons" align="right">
112
 
                <a py:if="navigation.next_page_revid" href="${navigation.next_page_url}"> revision ${history.get_revno(navigation.next_page_revid)} &gt; </a>
113
 
                        </td>
114
 
                </tr>
115
 
        </table>
116
 
</div>
117
 
 
118
 
</body>
119
 
</html>