##// END OF EJS Templates
coal, paper: add newlines when displaying a file in hgweb...
Martin Geisler -
r8486:835b1ee1 default
parent child Browse files
Show More
@@ -1,190 +1,191
1 default = 'shortlog'
1 default = 'shortlog'
2
2
3 mimetype = 'text/html; charset={encoding}'
3 mimetype = 'text/html; charset={encoding}'
4 header = header.tmpl
4 header = header.tmpl
5 footer = ../paper/footer.tmpl
5 footer = ../paper/footer.tmpl
6 search = ../paper/search.tmpl
6 search = ../paper/search.tmpl
7
7
8 changelog = ../paper/shortlog.tmpl
8 changelog = ../paper/shortlog.tmpl
9 shortlog = ../paper/shortlog.tmpl
9 shortlog = ../paper/shortlog.tmpl
10 shortlogentry = ../paper/shortlogentry.tmpl
10 shortlogentry = ../paper/shortlogentry.tmpl
11 graph = ../paper/graph.tmpl
11 graph = ../paper/graph.tmpl
12
12
13 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
14 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
14 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
15 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
15 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
16 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
16 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
17 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
17 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
18 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
18 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
19 filenolink = '{file|escape} '
19 filenolink = '{file|escape} '
20 fileellipses = '...'
20 fileellipses = '...'
21 changelogentry = ../paper/shortlogentry.tmpl
21 changelogentry = ../paper/shortlogentry.tmpl
22 searchentry = ../paper/shortlogentry.tmpl
22 searchentry = ../paper/shortlogentry.tmpl
23 changeset = ../paper/changeset.tmpl
23 changeset = ../paper/changeset.tmpl
24 manifest = ../paper/manifest.tmpl
24 manifest = ../paper/manifest.tmpl
25
25
26 direntry = '
26 direntry = '
27 <tr class="fileline parity{parity}">
27 <tr class="fileline parity{parity}">
28 <td class="name">
28 <td class="name">
29 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
29 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
30 <img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/
30 <img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/
31 </a>
31 </a>
32 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
32 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
33 {emptydirs|escape}
33 {emptydirs|escape}
34 </a>
34 </a>
35 </td>
35 </td>
36 <td class="size"></td>
36 <td class="size"></td>
37 <td class="permissions">drwxr-xr-x</td>
37 <td class="permissions">drwxr-xr-x</td>
38 </tr>'
38 </tr>'
39
39
40 fileentry = '
40 fileentry = '
41 <tr class="fileline parity{parity}">
41 <tr class="fileline parity{parity}">
42 <td class="filename">
42 <td class="filename">
43 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
43 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
44 <img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}
44 <img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}
45 </a>
45 </a>
46 </td>
46 </td>
47 <td class="size">{size}</td>
47 <td class="size">{size}</td>
48 <td class="permissions">{permissions|permissions}</td>
48 <td class="permissions">{permissions|permissions}</td>
49 </tr>'
49 </tr>'
50
50
51 filerevision = ../paper/filerevision.tmpl
51 filerevision = ../paper/filerevision.tmpl
52 fileannotate = ../paper/fileannotate.tmpl
52 fileannotate = ../paper/fileannotate.tmpl
53 filediff = ../paper/filediff.tmpl
53 filediff = ../paper/filediff.tmpl
54 filelog = ../paper/filelog.tmpl
54 filelog = ../paper/filelog.tmpl
55 fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
55 fileline = '
56 <div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
56 filelogentry = ../paper/filelogentry.tmpl
57 filelogentry = ../paper/filelogentry.tmpl
57
58
58 annotateline = '
59 annotateline = '
59 <tr class="parity{parity}">
60 <tr class="parity{parity}">
60 <td class="annotate">
61 <td class="annotate">
61 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
62 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
62 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
63 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
63 </td>
64 </td>
64 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
65 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
65 </tr>'
66 </tr>'
66
67
67 diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
68 diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
68 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
69 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
69 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
70 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
70 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
71 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
71 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
72 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
72
73
73 changelogparent = '
74 changelogparent = '
74 <tr>
75 <tr>
75 <th class="parent">parent {rev}:</th>
76 <th class="parent">parent {rev}:</th>
76 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
77 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
77 </tr>'
78 </tr>'
78
79
79 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
80 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
80
81
81 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
82 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
82 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
83 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
83
84
84 filerename = '{file|escape}@'
85 filerename = '{file|escape}@'
85 filelogrename = '
86 filelogrename = '
86 <tr>
87 <tr>
87 <th>base:</th>
88 <th>base:</th>
88 <td>
89 <td>
89 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
90 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
90 {file|escape}@{node|short}
91 {file|escape}@{node|short}
91 </a>
92 </a>
92 </td>
93 </td>
93 </tr>'
94 </tr>'
94 fileannotateparent = '
95 fileannotateparent = '
95 <tr>
96 <tr>
96 <td class="metatag">parent:</td>
97 <td class="metatag">parent:</td>
97 <td>
98 <td>
98 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
99 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
99 {rename%filerename}{node|short}
100 {rename%filerename}{node|short}
100 </a>
101 </a>
101 </td>
102 </td>
102 </tr>'
103 </tr>'
103 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
104 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
104 changelogchild = '
105 changelogchild = '
105 <tr>
106 <tr>
106 <th class="child">child</th>
107 <th class="child">child</th>
107 <td class="child">
108 <td class="child">
108 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
109 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
109 {node|short}
110 {node|short}
110 </a>
111 </a>
111 </td>
112 </td>
112 </tr>'
113 </tr>'
113 fileannotatechild = '
114 fileannotatechild = '
114 <tr>
115 <tr>
115 <td class="metatag">child:</td>
116 <td class="metatag">child:</td>
116 <td>
117 <td>
117 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
118 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
118 {node|short}
119 {node|short}
119 </a>
120 </a>
120 </td>
121 </td>
121 </tr>'
122 </tr>'
122 tags = ../paper/tags.tmpl
123 tags = ../paper/tags.tmpl
123 tagentry = '
124 tagentry = '
124 <tr class="tagEntry parity{parity}">
125 <tr class="tagEntry parity{parity}">
125 <td>
126 <td>
126 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
127 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
127 {tag|escape}
128 {tag|escape}
128 </a>
129 </a>
129 </td>
130 </td>
130 <td class="node">
131 <td class="node">
131 {node|short}
132 {node|short}
132 </td>
133 </td>
133 </tr>'
134 </tr>'
134 branches = ../paper/branches.tmpl
135 branches = ../paper/branches.tmpl
135 branchentry = '
136 branchentry = '
136 <tr class="tagEntry parity{parity}">
137 <tr class="tagEntry parity{parity}">
137 <td>
138 <td>
138 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">
139 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">
139 {branch|escape}
140 {branch|escape}
140 </a>
141 </a>
141 </td>
142 </td>
142 <td class="node">
143 <td class="node">
143 {node|short}
144 {node|short}
144 </td>
145 </td>
145 </tr>'
146 </tr>'
146 changelogtag = '<span class="tag">{name|escape}</span> '
147 changelogtag = '<span class="tag">{name|escape}</span> '
147 changesettag = '<span class="tag">{tag|escape}</span> '
148 changesettag = '<span class="tag">{tag|escape}</span> '
148 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
149 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
149 changelogbranchname = '<span class="branchname">{name|escape}</span> '
150 changelogbranchname = '<span class="branchname">{name|escape}</span> '
150
151
151 filediffparent = '
152 filediffparent = '
152 <tr>
153 <tr>
153 <th class="parent">parent {rev}:</th>
154 <th class="parent">parent {rev}:</th>
154 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
155 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
155 </tr>'
156 </tr>'
156 filelogparent = '
157 filelogparent = '
157 <tr>
158 <tr>
158 <th>parent {rev}:</th>
159 <th>parent {rev}:</th>
159 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
160 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
160 </tr>'
161 </tr>'
161 filediffchild = '
162 filediffchild = '
162 <tr>
163 <tr>
163 <th class="child">child {rev}:</th>
164 <th class="child">child {rev}:</th>
164 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
165 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
165 </td>
166 </td>
166 </tr>'
167 </tr>'
167 filelogchild = '
168 filelogchild = '
168 <tr>
169 <tr>
169 <th>child {rev}:</th>
170 <th>child {rev}:</th>
170 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
171 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
171 </tr>'
172 </tr>'
172
173
173 indexentry = '
174 indexentry = '
174 <tr class="parity{parity}">
175 <tr class="parity{parity}">
175 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
176 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
176 <td>{description}</td>
177 <td>{description}</td>
177 <td>{contact|obfuscate}</td>
178 <td>{contact|obfuscate}</td>
178 <td class="age">{lastchange|age} ago</td>
179 <td class="age">{lastchange|age} ago</td>
179 <td class="indexlinks">{archives%indexarchiveentry}</td>
180 <td class="indexlinks">{archives%indexarchiveentry}</td>
180 </tr>\n'
181 </tr>\n'
181 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
182 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
182 index = ../paper/index.tmpl
183 index = ../paper/index.tmpl
183 archiveentry = '
184 archiveentry = '
184 <li>
185 <li>
185 <a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a>
186 <a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a>
186 </li>'
187 </li>'
187 notfound = ../paper/notfound.tmpl
188 notfound = ../paper/notfound.tmpl
188 error = ../paper/error.tmpl
189 error = ../paper/error.tmpl
189 urlparameter = '{separator}{name}={value|urlescape}'
190 urlparameter = '{separator}{name}={value|urlescape}'
190 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
191 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -1,190 +1,191
1 default = 'shortlog'
1 default = 'shortlog'
2
2
3 mimetype = 'text/html; charset={encoding}'
3 mimetype = 'text/html; charset={encoding}'
4 header = header.tmpl
4 header = header.tmpl
5 footer = footer.tmpl
5 footer = footer.tmpl
6 search = search.tmpl
6 search = search.tmpl
7
7
8 changelog = shortlog.tmpl
8 changelog = shortlog.tmpl
9 shortlog = shortlog.tmpl
9 shortlog = shortlog.tmpl
10 shortlogentry = shortlogentry.tmpl
10 shortlogentry = shortlogentry.tmpl
11 graph = graph.tmpl
11 graph = graph.tmpl
12
12
13 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
14 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
14 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
15 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
15 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
16 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
16 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
17 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
17 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
18 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
18 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
19 filenolink = '{file|escape} '
19 filenolink = '{file|escape} '
20 fileellipses = '...'
20 fileellipses = '...'
21 changelogentry = shortlogentry.tmpl
21 changelogentry = shortlogentry.tmpl
22 searchentry = shortlogentry.tmpl
22 searchentry = shortlogentry.tmpl
23 changeset = changeset.tmpl
23 changeset = changeset.tmpl
24 manifest = manifest.tmpl
24 manifest = manifest.tmpl
25
25
26 direntry = '
26 direntry = '
27 <tr class="fileline parity{parity}">
27 <tr class="fileline parity{parity}">
28 <td class="name">
28 <td class="name">
29 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
29 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
30 <img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/
30 <img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/
31 </a>
31 </a>
32 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
32 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
33 {emptydirs|escape}
33 {emptydirs|escape}
34 </a>
34 </a>
35 </td>
35 </td>
36 <td class="size"></td>
36 <td class="size"></td>
37 <td class="permissions">drwxr-xr-x</td>
37 <td class="permissions">drwxr-xr-x</td>
38 </tr>'
38 </tr>'
39
39
40 fileentry = '
40 fileentry = '
41 <tr class="fileline parity{parity}">
41 <tr class="fileline parity{parity}">
42 <td class="filename">
42 <td class="filename">
43 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
43 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
44 <img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}
44 <img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}
45 </a>
45 </a>
46 </td>
46 </td>
47 <td class="size">{size}</td>
47 <td class="size">{size}</td>
48 <td class="permissions">{permissions|permissions}</td>
48 <td class="permissions">{permissions|permissions}</td>
49 </tr>'
49 </tr>'
50
50
51 filerevision = filerevision.tmpl
51 filerevision = filerevision.tmpl
52 fileannotate = fileannotate.tmpl
52 fileannotate = fileannotate.tmpl
53 filediff = filediff.tmpl
53 filediff = filediff.tmpl
54 filelog = filelog.tmpl
54 filelog = filelog.tmpl
55 fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
55 fileline = '
56 <div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
56 filelogentry = filelogentry.tmpl
57 filelogentry = filelogentry.tmpl
57
58
58 annotateline = '
59 annotateline = '
59 <tr class="parity{parity}">
60 <tr class="parity{parity}">
60 <td class="annotate">
61 <td class="annotate">
61 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
62 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
62 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
63 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
63 </td>
64 </td>
64 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
65 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
65 </tr>'
66 </tr>'
66
67
67 diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
68 diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
68 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
69 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
69 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
70 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
70 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
71 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
71 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
72 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
72
73
73 changelogparent = '
74 changelogparent = '
74 <tr>
75 <tr>
75 <th class="parent">parent {rev}:</th>
76 <th class="parent">parent {rev}:</th>
76 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
77 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
77 </tr>'
78 </tr>'
78
79
79 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
80 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
80
81
81 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
82 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
82 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
83 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
83
84
84 filerename = '{file|escape}@'
85 filerename = '{file|escape}@'
85 filelogrename = '
86 filelogrename = '
86 <tr>
87 <tr>
87 <th>base:</th>
88 <th>base:</th>
88 <td>
89 <td>
89 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
90 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
90 {file|escape}@{node|short}
91 {file|escape}@{node|short}
91 </a>
92 </a>
92 </td>
93 </td>
93 </tr>'
94 </tr>'
94 fileannotateparent = '
95 fileannotateparent = '
95 <tr>
96 <tr>
96 <td class="metatag">parent:</td>
97 <td class="metatag">parent:</td>
97 <td>
98 <td>
98 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
99 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
99 {rename%filerename}{node|short}
100 {rename%filerename}{node|short}
100 </a>
101 </a>
101 </td>
102 </td>
102 </tr>'
103 </tr>'
103 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
104 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
104 changelogchild = '
105 changelogchild = '
105 <tr>
106 <tr>
106 <th class="child">child</th>
107 <th class="child">child</th>
107 <td class="child">
108 <td class="child">
108 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
109 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
109 {node|short}
110 {node|short}
110 </a>
111 </a>
111 </td>
112 </td>
112 </tr>'
113 </tr>'
113 fileannotatechild = '
114 fileannotatechild = '
114 <tr>
115 <tr>
115 <td class="metatag">child:</td>
116 <td class="metatag">child:</td>
116 <td>
117 <td>
117 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
118 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
118 {node|short}
119 {node|short}
119 </a>
120 </a>
120 </td>
121 </td>
121 </tr>'
122 </tr>'
122 tags = tags.tmpl
123 tags = tags.tmpl
123 tagentry = '
124 tagentry = '
124 <tr class="tagEntry parity{parity}">
125 <tr class="tagEntry parity{parity}">
125 <td>
126 <td>
126 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
127 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
127 {tag|escape}
128 {tag|escape}
128 </a>
129 </a>
129 </td>
130 </td>
130 <td class="node">
131 <td class="node">
131 {node|short}
132 {node|short}
132 </td>
133 </td>
133 </tr>'
134 </tr>'
134 branches = branches.tmpl
135 branches = branches.tmpl
135 branchentry = '
136 branchentry = '
136 <tr class="tagEntry parity{parity}">
137 <tr class="tagEntry parity{parity}">
137 <td>
138 <td>
138 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">
139 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">
139 {branch|escape}
140 {branch|escape}
140 </a>
141 </a>
141 </td>
142 </td>
142 <td class="node">
143 <td class="node">
143 {node|short}
144 {node|short}
144 </td>
145 </td>
145 </tr>'
146 </tr>'
146 changelogtag = '<span class="tag">{name|escape}</span> '
147 changelogtag = '<span class="tag">{name|escape}</span> '
147 changesettag = '<span class="tag">{tag|escape}</span> '
148 changesettag = '<span class="tag">{tag|escape}</span> '
148 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
149 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
149 changelogbranchname = '<span class="branchname">{name|escape}</span> '
150 changelogbranchname = '<span class="branchname">{name|escape}</span> '
150
151
151 filediffparent = '
152 filediffparent = '
152 <tr>
153 <tr>
153 <th class="parent">parent {rev}:</th>
154 <th class="parent">parent {rev}:</th>
154 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
155 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
155 </tr>'
156 </tr>'
156 filelogparent = '
157 filelogparent = '
157 <tr>
158 <tr>
158 <th>parent {rev}:</th>
159 <th>parent {rev}:</th>
159 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
160 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
160 </tr>'
161 </tr>'
161 filediffchild = '
162 filediffchild = '
162 <tr>
163 <tr>
163 <th class="child">child {rev}:</th>
164 <th class="child">child {rev}:</th>
164 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
165 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
165 </td>
166 </td>
166 </tr>'
167 </tr>'
167 filelogchild = '
168 filelogchild = '
168 <tr>
169 <tr>
169 <th>child {rev}:</th>
170 <th>child {rev}:</th>
170 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
171 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
171 </tr>'
172 </tr>'
172
173
173 indexentry = '
174 indexentry = '
174 <tr class="parity{parity}">
175 <tr class="parity{parity}">
175 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
176 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
176 <td>{description}</td>
177 <td>{description}</td>
177 <td>{contact|obfuscate}</td>
178 <td>{contact|obfuscate}</td>
178 <td class="age">{lastchange|age} ago</td>
179 <td class="age">{lastchange|age} ago</td>
179 <td class="indexlinks">{archives%indexarchiveentry}</td>
180 <td class="indexlinks">{archives%indexarchiveentry}</td>
180 </tr>\n'
181 </tr>\n'
181 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
182 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
182 index = index.tmpl
183 index = index.tmpl
183 archiveentry = '
184 archiveentry = '
184 <li>
185 <li>
185 <a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a>
186 <a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a>
186 </li>'
187 </li>'
187 notfound = notfound.tmpl
188 notfound = notfound.tmpl
188 error = error.tmpl
189 error = error.tmpl
189 urlparameter = '{separator}{name}={value|urlescape}'
190 urlparameter = '{separator}{name}={value|urlescape}'
190 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
191 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -1,987 +1,988
1 % Set up the repo
1 % Set up the repo
2 adding da/foo
2 adding da/foo
3 adding foo
3 adding foo
4 marked working directory as branch stable
4 marked working directory as branch stable
5 % Logs and changes
5 % Logs and changes
6 200 Script output follows
6 200 Script output follows
7
7
8 <?xml version="1.0" encoding="ascii"?>
8 <?xml version="1.0" encoding="ascii"?>
9 <feed xmlns="http://127.0.0.1/2005/Atom">
9 <feed xmlns="http://127.0.0.1/2005/Atom">
10 <!-- Changelog -->
10 <!-- Changelog -->
11 <id>http://127.0.0.1/</id>
11 <id>http://127.0.0.1/</id>
12 <link rel="self" href="http://127.0.0.1/atom-log"/>
12 <link rel="self" href="http://127.0.0.1/atom-log"/>
13 <link rel="alternate" href="http://127.0.0.1/"/>
13 <link rel="alternate" href="http://127.0.0.1/"/>
14 <title>test Changelog</title>
14 <title>test Changelog</title>
15 <updated>1970-01-01T00:00:00+00:00</updated>
15 <updated>1970-01-01T00:00:00+00:00</updated>
16
16
17 <entry>
17 <entry>
18 <title>branch</title>
18 <title>branch</title>
19 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
19 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
20 <link href="http://127.0.0.1/rev/1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe"/>
20 <link href="http://127.0.0.1/rev/1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe"/>
21 <author>
21 <author>
22 <name>test</name>
22 <name>test</name>
23 <email>&#116;&#101;&#115;&#116;</email>
23 <email>&#116;&#101;&#115;&#116;</email>
24 </author>
24 </author>
25 <updated>1970-01-01T00:00:00+00:00</updated>
25 <updated>1970-01-01T00:00:00+00:00</updated>
26 <published>1970-01-01T00:00:00+00:00</published>
26 <published>1970-01-01T00:00:00+00:00</published>
27 <content type="xhtml">
27 <content type="xhtml">
28 <div xmlns="http://127.0.0.1/1999/xhtml">
28 <div xmlns="http://127.0.0.1/1999/xhtml">
29 <pre xml:space="preserve">branch</pre>
29 <pre xml:space="preserve">branch</pre>
30 </div>
30 </div>
31 </content>
31 </content>
32 </entry>
32 </entry>
33 <entry>
33 <entry>
34 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
34 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
35 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
35 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
36 <link href="http://127.0.0.1/rev/a4f92ed23982be056b9852de5dfe873eaac7f0de"/>
36 <link href="http://127.0.0.1/rev/a4f92ed23982be056b9852de5dfe873eaac7f0de"/>
37 <author>
37 <author>
38 <name>test</name>
38 <name>test</name>
39 <email>&#116;&#101;&#115;&#116;</email>
39 <email>&#116;&#101;&#115;&#116;</email>
40 </author>
40 </author>
41 <updated>1970-01-01T00:00:00+00:00</updated>
41 <updated>1970-01-01T00:00:00+00:00</updated>
42 <published>1970-01-01T00:00:00+00:00</published>
42 <published>1970-01-01T00:00:00+00:00</published>
43 <content type="xhtml">
43 <content type="xhtml">
44 <div xmlns="http://127.0.0.1/1999/xhtml">
44 <div xmlns="http://127.0.0.1/1999/xhtml">
45 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
45 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
46 </div>
46 </div>
47 </content>
47 </content>
48 </entry>
48 </entry>
49 <entry>
49 <entry>
50 <title>base</title>
50 <title>base</title>
51 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
51 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
52 <link href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
52 <link href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
53 <author>
53 <author>
54 <name>test</name>
54 <name>test</name>
55 <email>&#116;&#101;&#115;&#116;</email>
55 <email>&#116;&#101;&#115;&#116;</email>
56 </author>
56 </author>
57 <updated>1970-01-01T00:00:00+00:00</updated>
57 <updated>1970-01-01T00:00:00+00:00</updated>
58 <published>1970-01-01T00:00:00+00:00</published>
58 <published>1970-01-01T00:00:00+00:00</published>
59 <content type="xhtml">
59 <content type="xhtml">
60 <div xmlns="http://127.0.0.1/1999/xhtml">
60 <div xmlns="http://127.0.0.1/1999/xhtml">
61 <pre xml:space="preserve">base</pre>
61 <pre xml:space="preserve">base</pre>
62 </div>
62 </div>
63 </content>
63 </content>
64 </entry>
64 </entry>
65
65
66 </feed>
66 </feed>
67 200 Script output follows
67 200 Script output follows
68
68
69 <?xml version="1.0" encoding="ascii"?>
69 <?xml version="1.0" encoding="ascii"?>
70 <feed xmlns="http://127.0.0.1/2005/Atom">
70 <feed xmlns="http://127.0.0.1/2005/Atom">
71 <!-- Changelog -->
71 <!-- Changelog -->
72 <id>http://127.0.0.1/</id>
72 <id>http://127.0.0.1/</id>
73 <link rel="self" href="http://127.0.0.1/atom-log"/>
73 <link rel="self" href="http://127.0.0.1/atom-log"/>
74 <link rel="alternate" href="http://127.0.0.1/"/>
74 <link rel="alternate" href="http://127.0.0.1/"/>
75 <title>test Changelog</title>
75 <title>test Changelog</title>
76 <updated>1970-01-01T00:00:00+00:00</updated>
76 <updated>1970-01-01T00:00:00+00:00</updated>
77
77
78 <entry>
78 <entry>
79 <title>branch</title>
79 <title>branch</title>
80 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
80 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
81 <link href="http://127.0.0.1/rev/1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe"/>
81 <link href="http://127.0.0.1/rev/1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe"/>
82 <author>
82 <author>
83 <name>test</name>
83 <name>test</name>
84 <email>&#116;&#101;&#115;&#116;</email>
84 <email>&#116;&#101;&#115;&#116;</email>
85 </author>
85 </author>
86 <updated>1970-01-01T00:00:00+00:00</updated>
86 <updated>1970-01-01T00:00:00+00:00</updated>
87 <published>1970-01-01T00:00:00+00:00</published>
87 <published>1970-01-01T00:00:00+00:00</published>
88 <content type="xhtml">
88 <content type="xhtml">
89 <div xmlns="http://127.0.0.1/1999/xhtml">
89 <div xmlns="http://127.0.0.1/1999/xhtml">
90 <pre xml:space="preserve">branch</pre>
90 <pre xml:space="preserve">branch</pre>
91 </div>
91 </div>
92 </content>
92 </content>
93 </entry>
93 </entry>
94 <entry>
94 <entry>
95 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
95 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
96 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
96 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
97 <link href="http://127.0.0.1/rev/a4f92ed23982be056b9852de5dfe873eaac7f0de"/>
97 <link href="http://127.0.0.1/rev/a4f92ed23982be056b9852de5dfe873eaac7f0de"/>
98 <author>
98 <author>
99 <name>test</name>
99 <name>test</name>
100 <email>&#116;&#101;&#115;&#116;</email>
100 <email>&#116;&#101;&#115;&#116;</email>
101 </author>
101 </author>
102 <updated>1970-01-01T00:00:00+00:00</updated>
102 <updated>1970-01-01T00:00:00+00:00</updated>
103 <published>1970-01-01T00:00:00+00:00</published>
103 <published>1970-01-01T00:00:00+00:00</published>
104 <content type="xhtml">
104 <content type="xhtml">
105 <div xmlns="http://127.0.0.1/1999/xhtml">
105 <div xmlns="http://127.0.0.1/1999/xhtml">
106 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
106 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
107 </div>
107 </div>
108 </content>
108 </content>
109 </entry>
109 </entry>
110 <entry>
110 <entry>
111 <title>base</title>
111 <title>base</title>
112 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
112 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
113 <link href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
113 <link href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
114 <author>
114 <author>
115 <name>test</name>
115 <name>test</name>
116 <email>&#116;&#101;&#115;&#116;</email>
116 <email>&#116;&#101;&#115;&#116;</email>
117 </author>
117 </author>
118 <updated>1970-01-01T00:00:00+00:00</updated>
118 <updated>1970-01-01T00:00:00+00:00</updated>
119 <published>1970-01-01T00:00:00+00:00</published>
119 <published>1970-01-01T00:00:00+00:00</published>
120 <content type="xhtml">
120 <content type="xhtml">
121 <div xmlns="http://127.0.0.1/1999/xhtml">
121 <div xmlns="http://127.0.0.1/1999/xhtml">
122 <pre xml:space="preserve">base</pre>
122 <pre xml:space="preserve">base</pre>
123 </div>
123 </div>
124 </content>
124 </content>
125 </entry>
125 </entry>
126
126
127 </feed>
127 </feed>
128 200 Script output follows
128 200 Script output follows
129
129
130 <?xml version="1.0" encoding="ascii"?>
130 <?xml version="1.0" encoding="ascii"?>
131 <feed xmlns="http://127.0.0.1/2005/Atom">
131 <feed xmlns="http://127.0.0.1/2005/Atom">
132 <id>http://127.0.0.1/atom-log/tip/foo</id>
132 <id>http://127.0.0.1/atom-log/tip/foo</id>
133 <link rel="self" href="http://127.0.0.1/atom-log/tip/foo"/>
133 <link rel="self" href="http://127.0.0.1/atom-log/tip/foo"/>
134 <title>test: foo history</title>
134 <title>test: foo history</title>
135 <updated>1970-01-01T00:00:00+00:00</updated>
135 <updated>1970-01-01T00:00:00+00:00</updated>
136
136
137 <entry>
137 <entry>
138 <title>base</title>
138 <title>base</title>
139 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
139 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
140 <link href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
140 <link href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
141 <author>
141 <author>
142 <name>test</name>
142 <name>test</name>
143 <email>&#116;&#101;&#115;&#116;</email>
143 <email>&#116;&#101;&#115;&#116;</email>
144 </author>
144 </author>
145 <updated>1970-01-01T00:00:00+00:00</updated>
145 <updated>1970-01-01T00:00:00+00:00</updated>
146 <published>1970-01-01T00:00:00+00:00</published>
146 <published>1970-01-01T00:00:00+00:00</published>
147 <content type="xhtml">
147 <content type="xhtml">
148 <div xmlns="http://127.0.0.1/1999/xhtml">
148 <div xmlns="http://127.0.0.1/1999/xhtml">
149 <pre xml:space="preserve">base</pre>
149 <pre xml:space="preserve">base</pre>
150 </div>
150 </div>
151 </content>
151 </content>
152 </entry>
152 </entry>
153
153
154 </feed>
154 </feed>
155 200 Script output follows
155 200 Script output follows
156
156
157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
159 <head>
159 <head>
160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
161 <meta name="robots" content="index, nofollow" />
161 <meta name="robots" content="index, nofollow" />
162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
163
163
164 <title>test: log</title>
164 <title>test: log</title>
165 <link rel="alternate" type="application/atom+xml"
165 <link rel="alternate" type="application/atom+xml"
166 href="/atom-log" title="Atom feed for test" />
166 href="/atom-log" title="Atom feed for test" />
167 <link rel="alternate" type="application/rss+xml"
167 <link rel="alternate" type="application/rss+xml"
168 href="/rss-log" title="RSS feed for test" />
168 href="/rss-log" title="RSS feed for test" />
169 </head>
169 </head>
170 <body>
170 <body>
171
171
172 <div class="container">
172 <div class="container">
173 <div class="menu">
173 <div class="menu">
174 <div class="logo">
174 <div class="logo">
175 <a href="http://www.selenic.com/mercurial/">
175 <a href="http://www.selenic.com/mercurial/">
176 <img src="/static/hglogo.png" alt="mercurial" /></a>
176 <img src="/static/hglogo.png" alt="mercurial" /></a>
177 </div>
177 </div>
178 <ul>
178 <ul>
179 <li class="active">log</li>
179 <li class="active">log</li>
180 <li><a href="/graph/1d22e65f027e">graph</a></li>
180 <li><a href="/graph/1d22e65f027e">graph</a></li>
181 <li><a href="/tags">tags</a></li>
181 <li><a href="/tags">tags</a></li>
182 <li><a href="/branches">branches</a></li>
182 <li><a href="/branches">branches</a></li>
183 </ul>
183 </ul>
184 <ul>
184 <ul>
185 <li><a href="/rev/1d22e65f027e">changeset</a></li>
185 <li><a href="/rev/1d22e65f027e">changeset</a></li>
186 <li><a href="/file/1d22e65f027e">browse</a></li>
186 <li><a href="/file/1d22e65f027e">browse</a></li>
187 </ul>
187 </ul>
188 <ul>
188 <ul>
189
189
190 </ul>
190 </ul>
191 </div>
191 </div>
192
192
193 <div class="main">
193 <div class="main">
194 <h2><a href="/">test</a></h2>
194 <h2><a href="/">test</a></h2>
195 <h3>log</h3>
195 <h3>log</h3>
196
196
197 <form class="search" action="/log">
197 <form class="search" action="/log">
198
198
199 <p><input name="rev" id="search1" type="text" size="30" /></p>
199 <p><input name="rev" id="search1" type="text" size="30" /></p>
200 <div id="hint">find changesets by author, revision,
200 <div id="hint">find changesets by author, revision,
201 files, or words in the commit message</div>
201 files, or words in the commit message</div>
202 </form>
202 </form>
203
203
204 <div class="navigate">rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a> </div>
204 <div class="navigate">rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a> </div>
205
205
206 <table class="bigtable">
206 <table class="bigtable">
207 <tr>
207 <tr>
208 <th class="age">age</th>
208 <th class="age">age</th>
209 <th class="author">author</th>
209 <th class="author">author</th>
210 <th class="description">description</th>
210 <th class="description">description</th>
211 </tr>
211 </tr>
212 <tr class="parity0">
212 <tr class="parity0">
213 <td class="age">many years</td>
213 <td class="age">many years</td>
214 <td class="author">test</td>
214 <td class="author">test</td>
215 <td class="description"><a href="/rev/1d22e65f027e">branch</a><span class="branchhead">stable</span> <span class="tag">tip</span> </td>
215 <td class="description"><a href="/rev/1d22e65f027e">branch</a><span class="branchhead">stable</span> <span class="tag">tip</span> </td>
216 </tr>
216 </tr>
217 <tr class="parity1">
217 <tr class="parity1">
218 <td class="age">many years</td>
218 <td class="age">many years</td>
219 <td class="author">test</td>
219 <td class="author">test</td>
220 <td class="description"><a href="/rev/a4f92ed23982">Added tag 1.0 for changeset 2ef0ac749a14</a><span class="branchhead">default</span> </td>
220 <td class="description"><a href="/rev/a4f92ed23982">Added tag 1.0 for changeset 2ef0ac749a14</a><span class="branchhead">default</span> </td>
221 </tr>
221 </tr>
222 <tr class="parity0">
222 <tr class="parity0">
223 <td class="age">many years</td>
223 <td class="age">many years</td>
224 <td class="author">test</td>
224 <td class="author">test</td>
225 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
225 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
226 </tr>
226 </tr>
227
227
228 </table>
228 </table>
229
229
230 <div class="navigate">rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a> </div>
230 <div class="navigate">rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a> </div>
231 </div>
231 </div>
232 </div>
232 </div>
233
233
234
234
235
235
236 </body>
236 </body>
237 </html>
237 </html>
238
238
239 200 Script output follows
239 200 Script output follows
240
240
241 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
241 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
242 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
242 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
243 <head>
243 <head>
244 <link rel="icon" href="/static/hgicon.png" type="image/png" />
244 <link rel="icon" href="/static/hgicon.png" type="image/png" />
245 <meta name="robots" content="index, nofollow" />
245 <meta name="robots" content="index, nofollow" />
246 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
246 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
247
247
248 <title>test: 2ef0ac749a14</title>
248 <title>test: 2ef0ac749a14</title>
249 </head>
249 </head>
250 <body>
250 <body>
251 <div class="container">
251 <div class="container">
252 <div class="menu">
252 <div class="menu">
253 <div class="logo">
253 <div class="logo">
254 <a href="http://www.selenic.com/mercurial/">
254 <a href="http://www.selenic.com/mercurial/">
255 <img src="/static/hglogo.png" alt="mercurial" /></a>
255 <img src="/static/hglogo.png" alt="mercurial" /></a>
256 </div>
256 </div>
257 <ul>
257 <ul>
258 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
258 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
259 <li><a href="/graph/2ef0ac749a14">graph</a></li>
259 <li><a href="/graph/2ef0ac749a14">graph</a></li>
260 <li><a href="/tags">tags</a></li>
260 <li><a href="/tags">tags</a></li>
261 <li><a href="/branches">branches</a></li>
261 <li><a href="/branches">branches</a></li>
262 </ul>
262 </ul>
263 <ul>
263 <ul>
264 <li class="active">changeset</li>
264 <li class="active">changeset</li>
265 <li><a href="/raw-rev/2ef0ac749a14">raw</a></li>
265 <li><a href="/raw-rev/2ef0ac749a14">raw</a></li>
266 <li><a href="/file/2ef0ac749a14">browse</a></li>
266 <li><a href="/file/2ef0ac749a14">browse</a></li>
267 </ul>
267 </ul>
268 <ul>
268 <ul>
269
269
270 </ul>
270 </ul>
271 </div>
271 </div>
272
272
273 <div class="main">
273 <div class="main">
274
274
275 <h2><a href="/">test</a></h2>
275 <h2><a href="/">test</a></h2>
276 <h3>changeset 0:2ef0ac749a14 <span class="tag">1.0</span> </h3>
276 <h3>changeset 0:2ef0ac749a14 <span class="tag">1.0</span> </h3>
277
277
278 <form class="search" action="/log">
278 <form class="search" action="/log">
279
279
280 <p><input name="rev" id="search1" type="text" size="30" /></p>
280 <p><input name="rev" id="search1" type="text" size="30" /></p>
281 <div id="hint">find changesets by author, revision,
281 <div id="hint">find changesets by author, revision,
282 files, or words in the commit message</div>
282 files, or words in the commit message</div>
283 </form>
283 </form>
284
284
285 <div class="description">base</div>
285 <div class="description">base</div>
286
286
287 <table id="changesetEntry">
287 <table id="changesetEntry">
288 <tr>
288 <tr>
289 <th class="author">author</th>
289 <th class="author">author</th>
290 <td class="author">&#116;&#101;&#115;&#116;</td>
290 <td class="author">&#116;&#101;&#115;&#116;</td>
291 </tr>
291 </tr>
292 <tr>
292 <tr>
293 <th class="date">date</th>
293 <th class="date">date</th>
294 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
294 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
295 <tr>
295 <tr>
296 <th class="author">parents</th>
296 <th class="author">parents</th>
297 <td class="author"></td>
297 <td class="author"></td>
298 </tr>
298 </tr>
299 <tr>
299 <tr>
300 <th class="author">children</th>
300 <th class="author">children</th>
301 <td class="author"> <a href="/rev/a4f92ed23982">a4f92ed23982</a></td>
301 <td class="author"> <a href="/rev/a4f92ed23982">a4f92ed23982</a></td>
302 </tr>
302 </tr>
303 <tr>
303 <tr>
304 <th class="files">files</th>
304 <th class="files">files</th>
305 <td class="files"><a href="/file/2ef0ac749a14/da/foo">da/foo</a> <a href="/file/2ef0ac749a14/foo">foo</a> </td>
305 <td class="files"><a href="/file/2ef0ac749a14/da/foo">da/foo</a> <a href="/file/2ef0ac749a14/foo">foo</a> </td>
306 </tr>
306 </tr>
307 </table>
307 </table>
308
308
309 <div class="overflow">
309 <div class="overflow">
310 <div class="sourcefirst"> line diff</div>
310 <div class="sourcefirst"> line diff</div>
311
311
312 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
312 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
313 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/da/foo Thu Jan 01 00:00:00 1970 +0000
313 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/da/foo Thu Jan 01 00:00:00 1970 +0000
314 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
314 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
315 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+foo
315 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+foo
316 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
316 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
317 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/foo Thu Jan 01 00:00:00 1970 +0000
317 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/foo Thu Jan 01 00:00:00 1970 +0000
318 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
318 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
319 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+foo
319 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+foo
320 </span></pre></div>
320 </span></pre></div>
321 </div>
321 </div>
322
322
323 </div>
323 </div>
324 </div>
324 </div>
325
325
326
326
327 </body>
327 </body>
328 </html>
328 </html>
329
329
330 200 Script output follows
330 200 Script output follows
331
331
332
332
333 # HG changeset patch
333 # HG changeset patch
334 # User test
334 # User test
335 # Date 0 0
335 # Date 0 0
336 # Node ID a4f92ed23982be056b9852de5dfe873eaac7f0de
336 # Node ID a4f92ed23982be056b9852de5dfe873eaac7f0de
337 # Parent 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
337 # Parent 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
338 Added tag 1.0 for changeset 2ef0ac749a14
338 Added tag 1.0 for changeset 2ef0ac749a14
339
339
340 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
340 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
341 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
341 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
342 @@ -0,0 +1,1 @@
342 @@ -0,0 +1,1 @@
343 +2ef0ac749a14e4f57a5a822464a0902c6f7f448f 1.0
343 +2ef0ac749a14e4f57a5a822464a0902c6f7f448f 1.0
344
344
345 % File-related
345 % File-related
346 200 Script output follows
346 200 Script output follows
347
347
348 foo
348 foo
349 200 Script output follows
349 200 Script output follows
350
350
351
351
352 test@0: foo
352 test@0: foo
353
353
354
354
355
355
356
356
357 200 Script output follows
357 200 Script output follows
358
358
359
359
360 drwxr-xr-x da
360 drwxr-xr-x da
361 -rw-r--r-- 45 .hgtags
361 -rw-r--r-- 45 .hgtags
362 -rw-r--r-- 4 foo
362 -rw-r--r-- 4 foo
363
363
364
364
365 200 Script output follows
365 200 Script output follows
366
366
367 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
367 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
368 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
368 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
369 <head>
369 <head>
370 <link rel="icon" href="/static/hgicon.png" type="image/png" />
370 <link rel="icon" href="/static/hgicon.png" type="image/png" />
371 <meta name="robots" content="index, nofollow" />
371 <meta name="robots" content="index, nofollow" />
372 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
372 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
373
373
374 <title>test: a4f92ed23982 foo</title>
374 <title>test: a4f92ed23982 foo</title>
375 </head>
375 </head>
376 <body>
376 <body>
377
377
378 <div class="container">
378 <div class="container">
379 <div class="menu">
379 <div class="menu">
380 <div class="logo">
380 <div class="logo">
381 <a href="http://www.selenic.com/mercurial/">
381 <a href="http://www.selenic.com/mercurial/">
382 <img src="/static/hglogo.png" alt="mercurial" /></a>
382 <img src="/static/hglogo.png" alt="mercurial" /></a>
383 </div>
383 </div>
384 <ul>
384 <ul>
385 <li><a href="/shortlog/a4f92ed23982">log</a></li>
385 <li><a href="/shortlog/a4f92ed23982">log</a></li>
386 <li><a href="/graph/a4f92ed23982">graph</a></li>
386 <li><a href="/graph/a4f92ed23982">graph</a></li>
387 <li><a href="/tags">tags</a></li>
387 <li><a href="/tags">tags</a></li>
388 <li><a href="/branches">branches</a></li>
388 <li><a href="/branches">branches</a></li>
389 </ul>
389 </ul>
390 <ul>
390 <ul>
391 <li><a href="/rev/a4f92ed23982">changeset</a></li>
391 <li><a href="/rev/a4f92ed23982">changeset</a></li>
392 <li><a href="/file/a4f92ed23982/">browse</a></li>
392 <li><a href="/file/a4f92ed23982/">browse</a></li>
393 </ul>
393 </ul>
394 <ul>
394 <ul>
395 <li class="active">file</li>
395 <li class="active">file</li>
396 <li><a href="/diff/a4f92ed23982/foo">diff</a></li>
396 <li><a href="/diff/a4f92ed23982/foo">diff</a></li>
397 <li><a href="/annotate/a4f92ed23982/foo">annotate</a></li>
397 <li><a href="/annotate/a4f92ed23982/foo">annotate</a></li>
398 <li><a href="/log/a4f92ed23982/foo">file log</a></li>
398 <li><a href="/log/a4f92ed23982/foo">file log</a></li>
399 <li><a href="/raw-file/a4f92ed23982/foo">raw</a></li>
399 <li><a href="/raw-file/a4f92ed23982/foo">raw</a></li>
400 </ul>
400 </ul>
401 </div>
401 </div>
402
402
403 <div class="main">
403 <div class="main">
404 <h2><a href="/">test</a></h2>
404 <h2><a href="/">test</a></h2>
405 <h3>view foo @ 1:a4f92ed23982</h3>
405 <h3>view foo @ 1:a4f92ed23982</h3>
406
406
407 <form class="search" action="/log">
407 <form class="search" action="/log">
408
408
409 <p><input name="rev" id="search1" type="text" size="30" /></p>
409 <p><input name="rev" id="search1" type="text" size="30" /></p>
410 <div id="hint">find changesets by author, revision,
410 <div id="hint">find changesets by author, revision,
411 files, or words in the commit message</div>
411 files, or words in the commit message</div>
412 </form>
412 </form>
413
413
414 <div class="description">Added tag 1.0 for changeset 2ef0ac749a14</div>
414 <div class="description">Added tag 1.0 for changeset 2ef0ac749a14</div>
415
415
416 <table id="changesetEntry">
416 <table id="changesetEntry">
417 <tr>
417 <tr>
418 <th class="author">author</th>
418 <th class="author">author</th>
419 <td class="author">&#116;&#101;&#115;&#116;</td>
419 <td class="author">&#116;&#101;&#115;&#116;</td>
420 </tr>
420 </tr>
421 <tr>
421 <tr>
422 <th class="date">date</th>
422 <th class="date">date</th>
423 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
423 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
424 </tr>
424 </tr>
425 <tr>
425 <tr>
426 <th class="author">parents</th>
426 <th class="author">parents</th>
427 <td class="author"></td>
427 <td class="author"></td>
428 </tr>
428 </tr>
429 <tr>
429 <tr>
430 <th class="author">children</th>
430 <th class="author">children</th>
431 <td class="author"><a href="/file/1d22e65f027e/foo">1d22e65f027e</a> </td>
431 <td class="author"><a href="/file/1d22e65f027e/foo">1d22e65f027e</a> </td>
432 </tr>
432 </tr>
433
433
434 </table>
434 </table>
435
435
436 <div class="overflow">
436 <div class="overflow">
437 <div class="sourcefirst"> line source</div>
437 <div class="sourcefirst"> line source</div>
438
438 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> foo
439 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> foo
439 </div>
440 </div>
440 <div class="sourcelast"></div>
441 <div class="sourcelast"></div>
441 </div>
442 </div>
442 </div>
443 </div>
443 </div>
444 </div>
444
445
445
446
446
447
447 </body>
448 </body>
448 </html>
449 </html>
449
450
450 200 Script output follows
451 200 Script output follows
451
452
452
453
453 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
454 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
454 +++ b/foo Thu Jan 01 00:00:00 1970 +0000
455 +++ b/foo Thu Jan 01 00:00:00 1970 +0000
455 @@ -0,0 +1,1 @@
456 @@ -0,0 +1,1 @@
456 +foo
457 +foo
457
458
458
459
459
460
460
461
461 % Overviews
462 % Overviews
462 200 Script output follows
463 200 Script output follows
463
464
464 <?xml version="1.0" encoding="ascii"?>
465 <?xml version="1.0" encoding="ascii"?>
465 <feed xmlns="http://127.0.0.1/2005/Atom">
466 <feed xmlns="http://127.0.0.1/2005/Atom">
466 <id>http://127.0.0.1/</id>
467 <id>http://127.0.0.1/</id>
467 <link rel="self" href="http://127.0.0.1/atom-tags"/>
468 <link rel="self" href="http://127.0.0.1/atom-tags"/>
468 <link rel="alternate" href="http://127.0.0.1/tags"/>
469 <link rel="alternate" href="http://127.0.0.1/tags"/>
469 <title>test: tags</title>
470 <title>test: tags</title>
470 <summary>test tag history</summary>
471 <summary>test tag history</summary>
471 <author><name>Mercurial SCM</name></author>
472 <author><name>Mercurial SCM</name></author>
472 <updated>1970-01-01T00:00:00+00:00</updated>
473 <updated>1970-01-01T00:00:00+00:00</updated>
473
474
474 <entry>
475 <entry>
475 <title>1.0</title>
476 <title>1.0</title>
476 <link rel="alternate" href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
477 <link rel="alternate" href="http://127.0.0.1/rev/2ef0ac749a14e4f57a5a822464a0902c6f7f448f"/>
477 <id>http://127.0.0.1/#tag-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
478 <id>http://127.0.0.1/#tag-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
478 <updated>1970-01-01T00:00:00+00:00</updated>
479 <updated>1970-01-01T00:00:00+00:00</updated>
479 <published>1970-01-01T00:00:00+00:00</published>
480 <published>1970-01-01T00:00:00+00:00</published>
480 <content type="text">1.0</content>
481 <content type="text">1.0</content>
481 </entry>
482 </entry>
482
483
483 </feed>
484 </feed>
484 200 Script output follows
485 200 Script output follows
485
486
486 <?xml version="1.0" encoding="ascii"?>
487 <?xml version="1.0" encoding="ascii"?>
487 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://127.0.0.1/TR/xhtml1/DTD/xhtml1-strict.dtd">
488 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://127.0.0.1/TR/xhtml1/DTD/xhtml1-strict.dtd">
488 <html xmlns="http://127.0.0.1/1999/xhtml" xml:lang="en-US" lang="en-US">
489 <html xmlns="http://127.0.0.1/1999/xhtml" xml:lang="en-US" lang="en-US">
489 <head>
490 <head>
490 <link rel="icon" href="/static/hgicon.png" type="image/png" />
491 <link rel="icon" href="/static/hgicon.png" type="image/png" />
491 <meta name="robots" content="index, nofollow"/>
492 <meta name="robots" content="index, nofollow"/>
492 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
493 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
493
494
494
495
495 <title>test: Branches</title>
496 <title>test: Branches</title>
496 <link rel="alternate" type="application/atom+xml"
497 <link rel="alternate" type="application/atom+xml"
497 href="/atom-tags" title="Atom feed for test"/>
498 href="/atom-tags" title="Atom feed for test"/>
498 <link rel="alternate" type="application/rss+xml"
499 <link rel="alternate" type="application/rss+xml"
499 href="/rss-tags" title="RSS feed for test"/>
500 href="/rss-tags" title="RSS feed for test"/>
500 </head>
501 </head>
501 <body>
502 <body>
502
503
503 <div class="page_header">
504 <div class="page_header">
504 <a href="http://127.0.0.1/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / branches
505 <a href="http://127.0.0.1/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / branches
505 </div>
506 </div>
506
507
507 <div class="page_nav">
508 <div class="page_nav">
508 <a href="/summary?style=gitweb">summary</a> |
509 <a href="/summary?style=gitweb">summary</a> |
509 <a href="/shortlog?style=gitweb">shortlog</a> |
510 <a href="/shortlog?style=gitweb">shortlog</a> |
510 <a href="/log?style=gitweb">changelog</a> |
511 <a href="/log?style=gitweb">changelog</a> |
511 <a href="/graph?style=gitweb">graph</a> |
512 <a href="/graph?style=gitweb">graph</a> |
512 <a href="/tags?style=gitweb">tags</a> |
513 <a href="/tags?style=gitweb">tags</a> |
513 branches |
514 branches |
514 <a href="/file/1d22e65f027e?style=gitweb">files</a>
515 <a href="/file/1d22e65f027e?style=gitweb">files</a>
515 <br/>
516 <br/>
516 </div>
517 </div>
517
518
518 <div class="title">&nbsp;</div>
519 <div class="title">&nbsp;</div>
519 <table cellspacing="0">
520 <table cellspacing="0">
520
521
521 <tr class="parity0">
522 <tr class="parity0">
522 <td class="age"><i>many years ago</i></td>
523 <td class="age"><i>many years ago</i></td>
523 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
524 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
524 <td>stable</td>
525 <td>stable</td>
525 <td class="link">
526 <td class="link">
526 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
527 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
527 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
528 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
528 <a href="/file/1d22e65f027e?style=gitweb">files</a>
529 <a href="/file/1d22e65f027e?style=gitweb">files</a>
529 </td>
530 </td>
530 </tr>
531 </tr>
531 <tr class="parity1">
532 <tr class="parity1">
532 <td class="age"><i>many years ago</i></td>
533 <td class="age"><i>many years ago</i></td>
533 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
534 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
534 <td>default</td>
535 <td>default</td>
535 <td class="link">
536 <td class="link">
536 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
537 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
537 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
538 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
538 <a href="/file/a4f92ed23982?style=gitweb">files</a>
539 <a href="/file/a4f92ed23982?style=gitweb">files</a>
539 </td>
540 </td>
540 </tr>
541 </tr>
541 </table>
542 </table>
542
543
543 <div class="page_footer">
544 <div class="page_footer">
544 <div class="page_footer_text">test</div>
545 <div class="page_footer_text">test</div>
545 <div class="rss_logo">
546 <div class="rss_logo">
546 <a href="/rss-log">RSS</a>
547 <a href="/rss-log">RSS</a>
547 <a href="/atom-log">Atom</a>
548 <a href="/atom-log">Atom</a>
548 </div>
549 </div>
549 <br />
550 <br />
550
551
551 </div>
552 </div>
552 </body>
553 </body>
553 </html>
554 </html>
554
555
555 200 Script output follows
556 200 Script output follows
556
557
557 <?xml version="1.0" encoding="ascii"?>
558 <?xml version="1.0" encoding="ascii"?>
558 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
559 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
559 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
560 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
560 <head>
561 <head>
561 <link rel="icon" href="/static/hgicon.png" type="image/png" />
562 <link rel="icon" href="/static/hgicon.png" type="image/png" />
562 <meta name="robots" content="index, nofollow"/>
563 <meta name="robots" content="index, nofollow"/>
563 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
564 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
564
565
565
566
566 <title>test: Summary</title>
567 <title>test: Summary</title>
567 <link rel="alternate" type="application/atom+xml"
568 <link rel="alternate" type="application/atom+xml"
568 href="/atom-log" title="Atom feed for test"/>
569 href="/atom-log" title="Atom feed for test"/>
569 <link rel="alternate" type="application/rss+xml"
570 <link rel="alternate" type="application/rss+xml"
570 href="/rss-log" title="RSS feed for test"/>
571 href="/rss-log" title="RSS feed for test"/>
571 </head>
572 </head>
572 <body>
573 <body>
573
574
574 <div class="page_header">
575 <div class="page_header">
575 <a href="http://www.selenic.com/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / summary
576 <a href="http://www.selenic.com/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / summary
576
577
577 <form action="/log">
578 <form action="/log">
578 <input type="hidden" name="style" value="gitweb" />
579 <input type="hidden" name="style" value="gitweb" />
579 <div class="search">
580 <div class="search">
580 <input type="text" name="rev" />
581 <input type="text" name="rev" />
581 </div>
582 </div>
582 </form>
583 </form>
583 </div>
584 </div>
584
585
585 <div class="page_nav">
586 <div class="page_nav">
586 summary |
587 summary |
587 <a href="/shortlog?style=gitweb">shortlog</a> |
588 <a href="/shortlog?style=gitweb">shortlog</a> |
588 <a href="/log?style=gitweb">changelog</a> |
589 <a href="/log?style=gitweb">changelog</a> |
589 <a href="/graph?style=gitweb">graph</a> |
590 <a href="/graph?style=gitweb">graph</a> |
590 <a href="/tags?style=gitweb">tags</a> |
591 <a href="/tags?style=gitweb">tags</a> |
591 <a href="/branches?style=gitweb">branches</a> |
592 <a href="/branches?style=gitweb">branches</a> |
592 <a href="/file/1d22e65f027e?style=gitweb">files</a>
593 <a href="/file/1d22e65f027e?style=gitweb">files</a>
593 <br/>
594 <br/>
594 </div>
595 </div>
595
596
596 <div class="title">&nbsp;</div>
597 <div class="title">&nbsp;</div>
597 <table cellspacing="0">
598 <table cellspacing="0">
598 <tr><td>description</td><td>unknown</td></tr>
599 <tr><td>description</td><td>unknown</td></tr>
599 <tr><td>owner</td><td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td></tr>
600 <tr><td>owner</td><td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td></tr>
600 <tr><td>last change</td><td>Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
601 <tr><td>last change</td><td>Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
601 </table>
602 </table>
602
603
603 <div><a class="title" href="/shortlog?style=gitweb">changes</a></div>
604 <div><a class="title" href="/shortlog?style=gitweb">changes</a></div>
604 <table cellspacing="0">
605 <table cellspacing="0">
605
606
606 <tr class="parity0">
607 <tr class="parity0">
607 <td class="age"><i>many years ago</i></td>
608 <td class="age"><i>many years ago</i></td>
608 <td><i>test</i></td>
609 <td><i>test</i></td>
609 <td>
610 <td>
610 <a class="list" href="/rev/1d22e65f027e?style=gitweb">
611 <a class="list" href="/rev/1d22e65f027e?style=gitweb">
611 <b>branch</b>
612 <b>branch</b>
612 <span class="logtags"><span class="branchtag" title="stable">stable</span> <span class="tagtag" title="tip">tip</span> </span>
613 <span class="logtags"><span class="branchtag" title="stable">stable</span> <span class="tagtag" title="tip">tip</span> </span>
613 </a>
614 </a>
614 </td>
615 </td>
615 <td class="link" nowrap>
616 <td class="link" nowrap>
616 <a href="/rev/1d22e65f027e?style=gitweb">changeset</a> |
617 <a href="/rev/1d22e65f027e?style=gitweb">changeset</a> |
617 <a href="/file/1d22e65f027e?style=gitweb">files</a>
618 <a href="/file/1d22e65f027e?style=gitweb">files</a>
618 </td>
619 </td>
619 </tr>
620 </tr>
620 <tr class="parity1">
621 <tr class="parity1">
621 <td class="age"><i>many years ago</i></td>
622 <td class="age"><i>many years ago</i></td>
622 <td><i>test</i></td>
623 <td><i>test</i></td>
623 <td>
624 <td>
624 <a class="list" href="/rev/a4f92ed23982?style=gitweb">
625 <a class="list" href="/rev/a4f92ed23982?style=gitweb">
625 <b>Added tag 1.0 for changeset 2ef0ac749a14</b>
626 <b>Added tag 1.0 for changeset 2ef0ac749a14</b>
626 <span class="logtags"><span class="branchtag" title="default">default</span> </span>
627 <span class="logtags"><span class="branchtag" title="default">default</span> </span>
627 </a>
628 </a>
628 </td>
629 </td>
629 <td class="link" nowrap>
630 <td class="link" nowrap>
630 <a href="/rev/a4f92ed23982?style=gitweb">changeset</a> |
631 <a href="/rev/a4f92ed23982?style=gitweb">changeset</a> |
631 <a href="/file/a4f92ed23982?style=gitweb">files</a>
632 <a href="/file/a4f92ed23982?style=gitweb">files</a>
632 </td>
633 </td>
633 </tr>
634 </tr>
634 <tr class="parity0">
635 <tr class="parity0">
635 <td class="age"><i>many years ago</i></td>
636 <td class="age"><i>many years ago</i></td>
636 <td><i>test</i></td>
637 <td><i>test</i></td>
637 <td>
638 <td>
638 <a class="list" href="/rev/2ef0ac749a14?style=gitweb">
639 <a class="list" href="/rev/2ef0ac749a14?style=gitweb">
639 <b>base</b>
640 <b>base</b>
640 <span class="logtags"><span class="tagtag" title="1.0">1.0</span> </span>
641 <span class="logtags"><span class="tagtag" title="1.0">1.0</span> </span>
641 </a>
642 </a>
642 </td>
643 </td>
643 <td class="link" nowrap>
644 <td class="link" nowrap>
644 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
645 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
645 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
646 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
646 </td>
647 </td>
647 </tr>
648 </tr>
648 <tr class="light"><td colspan="4"><a class="list" href="/shortlog?style=gitweb">...</a></td></tr>
649 <tr class="light"><td colspan="4"><a class="list" href="/shortlog?style=gitweb">...</a></td></tr>
649 </table>
650 </table>
650
651
651 <div><a class="title" href="/tags?style=gitweb">tags</a></div>
652 <div><a class="title" href="/tags?style=gitweb">tags</a></div>
652 <table cellspacing="0">
653 <table cellspacing="0">
653
654
654 <tr class="parity0">
655 <tr class="parity0">
655 <td class="age"><i>many years ago</i></td>
656 <td class="age"><i>many years ago</i></td>
656 <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>1.0</b></a></td>
657 <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>1.0</b></a></td>
657 <td class="link">
658 <td class="link">
658 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
659 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
659 <a href="/log/2ef0ac749a14?style=gitweb">changelog</a> |
660 <a href="/log/2ef0ac749a14?style=gitweb">changelog</a> |
660 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
661 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
661 </td>
662 </td>
662 </tr>
663 </tr>
663 <tr class="light"><td colspan="3"><a class="list" href="/tags?style=gitweb">...</a></td></tr>
664 <tr class="light"><td colspan="3"><a class="list" href="/tags?style=gitweb">...</a></td></tr>
664 </table>
665 </table>
665
666
666 <div><a class="title" href="#">branches</a></div>
667 <div><a class="title" href="#">branches</a></div>
667 <table cellspacing="0">
668 <table cellspacing="0">
668
669
669 <tr class="parity0">
670 <tr class="parity0">
670 <td class="age"><i>many years ago</i></td>
671 <td class="age"><i>many years ago</i></td>
671 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
672 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
672 <td>stable</td>
673 <td>stable</td>
673 <td class="link">
674 <td class="link">
674 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
675 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
675 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
676 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
676 <a href="/file/1d22e65f027e?style=gitweb">files</a>
677 <a href="/file/1d22e65f027e?style=gitweb">files</a>
677 </td>
678 </td>
678 </tr>
679 </tr>
679 <tr class="parity1">
680 <tr class="parity1">
680 <td class="age"><i>many years ago</i></td>
681 <td class="age"><i>many years ago</i></td>
681 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
682 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
682 <td>default</td>
683 <td>default</td>
683 <td class="link">
684 <td class="link">
684 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
685 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
685 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
686 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
686 <a href="/file/a4f92ed23982?style=gitweb">files</a>
687 <a href="/file/a4f92ed23982?style=gitweb">files</a>
687 </td>
688 </td>
688 </tr>
689 </tr>
689 <tr class="light">
690 <tr class="light">
690 <td colspan="4"><a class="list" href="#">...</a></td>
691 <td colspan="4"><a class="list" href="#">...</a></td>
691 </tr>
692 </tr>
692 </table>
693 </table>
693 <div class="page_footer">
694 <div class="page_footer">
694 <div class="page_footer_text">test</div>
695 <div class="page_footer_text">test</div>
695 <div class="rss_logo">
696 <div class="rss_logo">
696 <a href="/rss-log">RSS</a>
697 <a href="/rss-log">RSS</a>
697 <a href="/atom-log">Atom</a>
698 <a href="/atom-log">Atom</a>
698 </div>
699 </div>
699 <br />
700 <br />
700
701
701 </div>
702 </div>
702 </body>
703 </body>
703 </html>
704 </html>
704
705
705 200 Script output follows
706 200 Script output follows
706
707
707 <?xml version="1.0" encoding="ascii"?>
708 <?xml version="1.0" encoding="ascii"?>
708 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
709 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
709 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
710 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
710 <head>
711 <head>
711 <link rel="icon" href="/static/hgicon.png" type="image/png" />
712 <link rel="icon" href="/static/hgicon.png" type="image/png" />
712 <meta name="robots" content="index, nofollow"/>
713 <meta name="robots" content="index, nofollow"/>
713 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
714 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
714
715
715
716
716 <title>test: Graph</title>
717 <title>test: Graph</title>
717 <link rel="alternate" type="application/atom+xml"
718 <link rel="alternate" type="application/atom+xml"
718 href="/atom-log" title="Atom feed for test"/>
719 href="/atom-log" title="Atom feed for test"/>
719 <link rel="alternate" type="application/rss+xml"
720 <link rel="alternate" type="application/rss+xml"
720 href="/rss-log" title="RSS feed for test"/>
721 href="/rss-log" title="RSS feed for test"/>
721 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
722 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
722 </head>
723 </head>
723 <body>
724 <body>
724
725
725 <div class="page_header">
726 <div class="page_header">
726 <a href="http://www.selenic.com/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / graph
727 <a href="http://www.selenic.com/mercurial/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / graph
727 </div>
728 </div>
728
729
729 <form action="/log">
730 <form action="/log">
730 <input type="hidden" name="style" value="gitweb" />
731 <input type="hidden" name="style" value="gitweb" />
731 <div class="search">
732 <div class="search">
732 <input type="text" name="rev" />
733 <input type="text" name="rev" />
733 </div>
734 </div>
734 </form>
735 </form>
735 <div class="page_nav">
736 <div class="page_nav">
736 <a href="/summary?style=gitweb">summary</a> |
737 <a href="/summary?style=gitweb">summary</a> |
737 <a href="/shortlog?style=gitweb">shortlog</a> |
738 <a href="/shortlog?style=gitweb">shortlog</a> |
738 <a href="/log/2?style=gitweb">changelog</a> |
739 <a href="/log/2?style=gitweb">changelog</a> |
739 graph |
740 graph |
740 <a href="/tags?style=gitweb">tags</a> |
741 <a href="/tags?style=gitweb">tags</a> |
741 <a href="/branches?style=gitweb">branches</a> |
742 <a href="/branches?style=gitweb">branches</a> |
742 <a href="/file/1d22e65f027e?style=gitweb">files</a>
743 <a href="/file/1d22e65f027e?style=gitweb">files</a>
743 <br/>
744 <br/>
744 <a href="/graph/2?style=gitweb&revcount=12">less</a>
745 <a href="/graph/2?style=gitweb&revcount=12">less</a>
745 <a href="/graph/2?style=gitweb&revcount=50">more</a>
746 <a href="/graph/2?style=gitweb&revcount=50">more</a>
746 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a> <br/>
747 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a> <br/>
747 </div>
748 </div>
748
749
749 <div class="title">&nbsp;</div>
750 <div class="title">&nbsp;</div>
750
751
751 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
752 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
752
753
753 <div id="wrapper">
754 <div id="wrapper">
754 <ul id="nodebgs"></ul>
755 <ul id="nodebgs"></ul>
755 <canvas id="graph" width="224" height="129"></canvas>
756 <canvas id="graph" width="224" height="129"></canvas>
756 <ul id="graphnodes"></ul>
757 <ul id="graphnodes"></ul>
757 </div>
758 </div>
758
759
759 <script type="text/javascript" src="/static/graph.js"></script>
760 <script type="text/javascript" src="/static/graph.js"></script>
760 <script>
761 <script>
761 <!-- hide script content
762 <!-- hide script content
762
763
763 var data = [["1d22e65f027e", [0, 1], [[0, 0, 1]], "branch", "test", "many years", ["stable", true], ["tip"]], ["a4f92ed23982", [0, 1], [[0, 0, 1]], "Added tag 1.0 for changeset 2ef0ac749a14", "test", "many years", ["default", true], []], ["2ef0ac749a14", [0, 1], [], "base", "test", "many years", ["default", false], ["1.0"]]];
764 var data = [["1d22e65f027e", [0, 1], [[0, 0, 1]], "branch", "test", "many years", ["stable", true], ["tip"]], ["a4f92ed23982", [0, 1], [[0, 0, 1]], "Added tag 1.0 for changeset 2ef0ac749a14", "test", "many years", ["default", true], []], ["2ef0ac749a14", [0, 1], [], "base", "test", "many years", ["default", false], ["1.0"]]];
764 var graph = new Graph();
765 var graph = new Graph();
765 graph.scale(39);
766 graph.scale(39);
766
767
767 graph.edge = function(x0, y0, x1, y1, color) {
768 graph.edge = function(x0, y0, x1, y1, color) {
768
769
769 this.setColor(color, 0.0, 0.65);
770 this.setColor(color, 0.0, 0.65);
770 this.ctx.beginPath();
771 this.ctx.beginPath();
771 this.ctx.moveTo(x0, y0);
772 this.ctx.moveTo(x0, y0);
772 this.ctx.lineTo(x1, y1);
773 this.ctx.lineTo(x1, y1);
773 this.ctx.stroke();
774 this.ctx.stroke();
774
775
775 }
776 }
776
777
777 var revlink = '<li style="_STYLE"><span class="desc">';
778 var revlink = '<li style="_STYLE"><span class="desc">';
778 revlink += '<a class="list" href="/rev/_NODEID?style=gitweb" title="_NODEID"><b>_DESC</b></a>';
779 revlink += '<a class="list" href="/rev/_NODEID?style=gitweb" title="_NODEID"><b>_DESC</b></a>';
779 revlink += '</span> _TAGS';
780 revlink += '</span> _TAGS';
780 revlink += '<span class="info">_DATE ago, by _USER</span></li>';
781 revlink += '<span class="info">_DATE ago, by _USER</span></li>';
781
782
782 graph.vertex = function(x, y, color, parity, cur) {
783 graph.vertex = function(x, y, color, parity, cur) {
783
784
784 this.ctx.beginPath();
785 this.ctx.beginPath();
785 color = this.setColor(color, 0.25, 0.75);
786 color = this.setColor(color, 0.25, 0.75);
786 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
787 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
787 this.ctx.fill();
788 this.ctx.fill();
788
789
789 var bg = '<li class="bg parity' + parity + '"></li>';
790 var bg = '<li class="bg parity' + parity + '"></li>';
790 var left = (this.columns + 1) * this.bg_height;
791 var left = (this.columns + 1) * this.bg_height;
791 var nstyle = 'padding-left: ' + left + 'px;';
792 var nstyle = 'padding-left: ' + left + 'px;';
792 var item = revlink.replace(/_STYLE/, nstyle);
793 var item = revlink.replace(/_STYLE/, nstyle);
793 item = item.replace(/_PARITY/, 'parity' + parity);
794 item = item.replace(/_PARITY/, 'parity' + parity);
794 item = item.replace(/_NODEID/, cur[0]);
795 item = item.replace(/_NODEID/, cur[0]);
795 item = item.replace(/_NODEID/, cur[0]);
796 item = item.replace(/_NODEID/, cur[0]);
796 item = item.replace(/_DESC/, cur[3]);
797 item = item.replace(/_DESC/, cur[3]);
797 item = item.replace(/_USER/, cur[4]);
798 item = item.replace(/_USER/, cur[4]);
798 item = item.replace(/_DATE/, cur[5]);
799 item = item.replace(/_DATE/, cur[5]);
799
800
800 var tagspan = '';
801 var tagspan = '';
801 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
802 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
802 tagspan = '<span class="logtags">';
803 tagspan = '<span class="logtags">';
803 if (cur[6][1]) {
804 if (cur[6][1]) {
804 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
805 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
805 tagspan += cur[6][0] + '</span> ';
806 tagspan += cur[6][0] + '</span> ';
806 } else if (!cur[6][1] && cur[6][0] != 'default') {
807 } else if (!cur[6][1] && cur[6][0] != 'default') {
807 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
808 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
808 tagspan += cur[6][0] + '</span> ';
809 tagspan += cur[6][0] + '</span> ';
809 }
810 }
810 if (cur[7].length) {
811 if (cur[7].length) {
811 for (var t in cur[7]) {
812 for (var t in cur[7]) {
812 var tag = cur[7][t];
813 var tag = cur[7][t];
813 tagspan += '<span class="tagtag">' + tag + '</span> ';
814 tagspan += '<span class="tagtag">' + tag + '</span> ';
814 }
815 }
815 }
816 }
816 tagspan += '</span>';
817 tagspan += '</span>';
817 }
818 }
818
819
819 item = item.replace(/_TAGS/, tagspan);
820 item = item.replace(/_TAGS/, tagspan);
820 return [bg, item];
821 return [bg, item];
821
822
822 }
823 }
823
824
824 graph.render(data);
825 graph.render(data);
825
826
826 // stop hiding script -->
827 // stop hiding script -->
827 </script>
828 </script>
828
829
829 <div class="page_nav">
830 <div class="page_nav">
830 <a href="/graph/2?style=gitweb&revcount=12">less</a>
831 <a href="/graph/2?style=gitweb&revcount=12">less</a>
831 <a href="/graph/2?style=gitweb&revcount=50">more</a>
832 <a href="/graph/2?style=gitweb&revcount=50">more</a>
832 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a>
833 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a>
833 </div>
834 </div>
834
835
835 <div class="page_footer">
836 <div class="page_footer">
836 <div class="page_footer_text">test</div>
837 <div class="page_footer_text">test</div>
837 <div class="rss_logo">
838 <div class="rss_logo">
838 <a href="/rss-log">RSS</a>
839 <a href="/rss-log">RSS</a>
839 <a href="/atom-log">Atom</a>
840 <a href="/atom-log">Atom</a>
840 </div>
841 </div>
841 <br />
842 <br />
842
843
843 </div>
844 </div>
844 </body>
845 </body>
845 </html>
846 </html>
846
847
847 % capabilities
848 % capabilities
848 200 Script output follows
849 200 Script output follows
849
850
850 lookup changegroupsubset unbundle=HG10GZ,HG10BZ,HG10UN% heads
851 lookup changegroupsubset unbundle=HG10GZ,HG10BZ,HG10UN% heads
851 200 Script output follows
852 200 Script output follows
852
853
853 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
854 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
854 % lookup
855 % lookup
855 200 Script output follows
856 200 Script output follows
856
857
857 0 'key'
858 0 'key'
858 % branches
859 % branches
859 200 Script output follows
860 200 Script output follows
860
861
861 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe 2ef0ac749a14e4f57a5a822464a0902c6f7f448f 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
862 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe 2ef0ac749a14e4f57a5a822464a0902c6f7f448f 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
862 % changegroup
863 % changegroup
863 200 Script output follows
864 200 Script output follows
864
865
865 x\x9c\xbdTMHUA\x14\xbe\xa8\xf9\xec\xda&\x10\x11*\xb8\x88\x81\x99\xbef\xe6\xce\xbdw\xc6\xf2a\x16E\x1b\x11[%\x98\xcc\xaf\x8f\x8c\xf7\xc0\xf7\x82
866 x\x9c\xbdTMHUA\x14\xbe\xa8\xf9\xec\xda&\x10\x11*\xb8\x88\x81\x99\xbef\xe6\xce\xbdw\xc6\xf2a\x16E\x1b\x11[%\x98\xcc\xaf\x8f\x8c\xf7\xc0\xf7\x82
866 4\x11KP2m\x95\xad*\xabE\x05AP\xd0\xc22Z\x14\xf9\x03\xb9j\xa3\x9b$\xa4MJ\xb4\x90\xc0\x9a\x9bO0\x10\xdf\x13\xa2\x81\x0f\x869g\xe6|\xe7\x9c\xef\x8ceY\xf7\xa2KO\xd2\xb7K\x16~\
867 4\x11KP2m\x95\xad*\xabE\x05AP\xd0\xc22Z\x14\xf9\x03\xb9j\xa3\x9b$\xa4MJ\xb4\x90\xc0\x9a\x9bO0\x10\xdf\x13\xa2\x81\x0f\x869g\xe6|\xe7\x9c\xef\x8ceY\xf7\xa2KO\xd2\xb7K\x16~\
867 \xe9\xad\x90w\x86\xab\x93W\x8e\xdf\xb0r\\Y\xee6(\xa2)\xf6\x95\xc6\x01\xe4\x1az\x80R\xe8kN\x98\xe7R\xa4\xa9K@\xe0!A\xb4k\xa7U*m\x03\x07\xd8\x92\x1d\xd2\xc9\xa4\x1d\xc2\xe6,\xa5\xcc+\x1f\xef\xafDgi\xef\xab\x1d\x1d\xb7\x9a\xe7[W\xfbc\x8f\xde-\xcd\xe7\xcaz\xb3\xbb\x19\xd3\x81\x10>c>\x08\x00"X\x11\xc2\x84@\xd2\xe7B*L\x00\x01P\x04R\xc3@\xbaB0\xdb8#\x83:\x83\xa2h\xbc=\xcd\xdaS\xe1Y,L\xd3\xa0\xf2\xa8\x94J:\xe6\xd8\x81Q\xe0\xe8d\xa7#\xe2,\xd1\xaeR*\xed \xa5\x01\x13\x01\xa6\x0cb\xe3;\xbe\xaf\xfcK[^wK\xe1N\xaf\xbbk\xe8B\xd1\xf4\xc1\x07\xb3\xab[\x10\xfdkmvwcB\xa6\xa4\xd4G\xc4D\xc2\x141\xad\x91\x10\x00\x08J\x81\xcb}\xee\t\xee+W\xba\x8a\x80\x90|\xd4\xa0\xd6\xa0\xd4T\xde\xe1\x9d,!\xe2\xb5\xa94\xe3\xe7\xd5\x9f\x06\x18\xcba\x03aP\xb8f\xcd\x04\x1a_\\9\xf1\xed\xe4\x9e\xe5\xa6\xd1\xd2\x9f\x03\xa7o\xae\x90H\xf3\xfb\xef\xffH3\xadk
868 \xe9\xad\x90w\x86\xab\x93W\x8e\xdf\xb0r\\Y\xee6(\xa2)\xf6\x95\xc6\x01\xe4\x1az\x80R\xe8kN\x98\xe7R\xa4\xa9K@\xe0!A\xb4k\xa7U*m\x03\x07\xd8\x92\x1d\xd2\xc9\xa4\x1d\xc2\xe6,\xa5\xcc+\x1f\xef\xafDgi\xef\xab\x1d\x1d\xb7\x9a\xe7[W\xfbc\x8f\xde-\xcd\xe7\xcaz\xb3\xbb\x19\xd3\x81\x10>c>\x08\x00"X\x11\xc2\x84@\xd2\xe7B*L\x00\x01P\x04R\xc3@\xbaB0\xdb8#\x83:\x83\xa2h\xbc=\xcd\xdaS\xe1Y,L\xd3\xa0\xf2\xa8\x94J:\xe6\xd8\x81Q\xe0\xe8d\xa7#\xe2,\xd1\xaeR*\xed \xa5\x01\x13\x01\xa6\x0cb\xe3;\xbe\xaf\xfcK[^wK\xe1N\xaf\xbbk\xe8B\xd1\xf4\xc1\x07\xb3\xab[\x10\xfdkmvwcB\xa6\xa4\xd4G\xc4D\xc2\x141\xad\x91\x10\x00\x08J\x81\xcb}\xee\t\xee+W\xba\x8a\x80\x90|\xd4\xa0\xd6\xa0\xd4T\xde\xe1\x9d,!\xe2\xb5\xa94\xe3\xe7\xd5\x9f\x06\x18\xcba\x03aP\xb8f\xcd\x04\x1a_\\9\xf1\xed\xe4\x9e\xe5\xa6\xd1\xd2\x9f\x03\xa7o\xae\x90H\xf3\xfb\xef\xffH3\xadk
868 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
869 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
869 \xa8\x80\x84S \xa5\xbd-g\x13`\xe4\xdc\xc3H^\xdf\xe2\xc0TM\xc7\xf4BO\xcf\xde\xae\xe5\xae#\x1frM(K\x97`F\x19\x16s\x05GD\xb9\x01\xc1\x00+\x8c|\x9fp\xc11\xf0\x14\x00\x9cJ\x82<\xe0\x12\x9f\xc1\x90\xd0\xf5\xc8\x19>Pr\xaa\xeaW\xf5\xc4\xae\xd1\xfc\x17\xcf\'\x13u\xb1\x9e\xcdHnC\x0e\xcc`\xc8\xa0&\xac\x0e\xf1|\x8c\x10$\xc4\x8c\xa2p\x05`\xdc\x08 \x80\xc4\xd7Rr-\x94\x10\x102\xedi;\xf3f\xf1z\x16\x86\xdb\xd8d\xe5\xe7\x8b\xf5\x8d\rzp\xb2\xfe\xac\xf5\xf2\xd3\xfe\xfckws\xedt\x96b\xd5l\x1c\x0b\x85\xb5\x170\x8f\x11\x84\xb0\x8f\x19\xa0\x00\t_\x07\x1ac\xa2\xc3\x89Z\xe7\x96\xf9 \xccNFg\xc7F\xaa\x8a+\x9a\x9cc_\x17\x1b\x17\x9e]z38<\x97+\xb5,",\xc8\xc8?\\\x91\xff\x17.~U\x96\x97\xf5%\xdeN<\x8e\xf5\x97%\xe7^\xcfL\xed~\xda\x96k\xdc->\x86\x02\x83"\x96H\xa6\xe3\xaas=-\xeb7\xe5\xda\x8f\xbc
870 \xa8\x80\x84S \xa5\xbd-g\x13`\xe4\xdc\xc3H^\xdf\xe2\xc0TM\xc7\xf4BO\xcf\xde\xae\xe5\xae#\x1frM(K\x97`F\x19\x16s\x05GD\xb9\x01\xc1\x00+\x8c|\x9fp\xc11\xf0\x14\x00\x9cJ\x82<\xe0\x12\x9f\xc1\x90\xd0\xf5\xc8\x19>Pr\xaa\xeaW\xf5\xc4\xae\xd1\xfc\x17\xcf\'\x13u\xb1\x9e\xcdHnC\x0e\xcc`\xc8\xa0&\xac\x0e\xf1|\x8c\x10$\xc4\x8c\xa2p\x05`\xdc\x08 \x80\xc4\xd7Rr-\x94\x10\x102\xedi;\xf3f\xf1z\x16\x86\xdb\xd8d\xe5\xe7\x8b\xf5\x8d\rzp\xb2\xfe\xac\xf5\xf2\xd3\xfe\xfckws\xedt\x96b\xd5l\x1c\x0b\x85\xb5\x170\x8f\x11\x84\xb0\x8f\x19\xa0\x00\t_\x07\x1ac\xa2\xc3\x89Z\xe7\x96\xf9 \xccNFg\xc7F\xaa\x8a+\x9a\x9cc_\x17\x1b\x17\x9e]z38<\x97+\xb5,",\xc8\xc8?\\\x91\xff\x17.~U\x96\x97\xf5%\xdeN<\x8e\xf5\x97%\xe7^\xcfL\xed~\xda\x96k\xdc->\x86\x02\x83"\x96H\xa6\xe3\xaas=-\xeb7\xe5\xda\x8f\xbc
870 % stream_out
871 % stream_out
871 200 Script output follows
872 200 Script output follows
872
873
873 1
874 1
874 % failing unbundle, requires POST request
875 % failing unbundle, requires POST request
875 405 Method Not Allowed
876 405 Method Not Allowed
876
877
877 0
878 0
878 push requires POST request
879 push requires POST request
879 % Static files
880 % Static files
880 200 Script output follows
881 200 Script output follows
881
882
882 a { text-decoration:none; }
883 a { text-decoration:none; }
883 .age { white-space:nowrap; }
884 .age { white-space:nowrap; }
884 .date { white-space:nowrap; }
885 .date { white-space:nowrap; }
885 .indexlinks { white-space:nowrap; }
886 .indexlinks { white-space:nowrap; }
886 .parity0 { background-color: #dddddd; }
887 .parity0 { background-color: #dddddd; }
887 .parity1 { background-color: #eeeeee; }
888 .parity1 { background-color: #eeeeee; }
888 .lineno { width: 60px; color: #aaaaaa; font-size: smaller;
889 .lineno { width: 60px; color: #aaaaaa; font-size: smaller;
889 text-align: right; padding-right:1em; }
890 text-align: right; padding-right:1em; }
890 .plusline { color: green; }
891 .plusline { color: green; }
891 .minusline { color: red; }
892 .minusline { color: red; }
892 .atline { color: purple; }
893 .atline { color: purple; }
893 .annotate { font-size: smaller; text-align: right; padding-right: 1em; }
894 .annotate { font-size: smaller; text-align: right; padding-right: 1em; }
894 .buttons a {
895 .buttons a {
895 background-color: #666666;
896 background-color: #666666;
896 padding: 2pt;
897 padding: 2pt;
897 color: white;
898 color: white;
898 font-family: sans;
899 font-family: sans;
899 font-weight: bold;
900 font-weight: bold;
900 }
901 }
901 .navigate a {
902 .navigate a {
902 background-color: #ccc;
903 background-color: #ccc;
903 padding: 2pt;
904 padding: 2pt;
904 font-family: sans;
905 font-family: sans;
905 color: black;
906 color: black;
906 }
907 }
907
908
908 .metatag {
909 .metatag {
909 background-color: #888888;
910 background-color: #888888;
910 color: white;
911 color: white;
911 text-align: right;
912 text-align: right;
912 }
913 }
913
914
914 /* Common */
915 /* Common */
915 pre { margin: 0; }
916 pre { margin: 0; }
916
917
917 .logo {
918 .logo {
918 float: right;
919 float: right;
919 clear: right;
920 clear: right;
920 }
921 }
921
922
922 /* Changelog/Filelog entries */
923 /* Changelog/Filelog entries */
923 .logEntry { width: 100%; }
924 .logEntry { width: 100%; }
924 .logEntry .age { width: 15%; }
925 .logEntry .age { width: 15%; }
925 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
926 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
926 .logEntry th.age, .logEntry th.firstline { font-weight: bold; }
927 .logEntry th.age, .logEntry th.firstline { font-weight: bold; }
927 .logEntry th.firstline { text-align: left; width: inherit; }
928 .logEntry th.firstline { text-align: left; width: inherit; }
928
929
929 /* Shortlog entries */
930 /* Shortlog entries */
930 .slogEntry { width: 100%; }
931 .slogEntry { width: 100%; }
931 .slogEntry .age { width: 8em; }
932 .slogEntry .age { width: 8em; }
932 .slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
933 .slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
933 .slogEntry td.author { width: 15em; }
934 .slogEntry td.author { width: 15em; }
934
935
935 /* Tag entries */
936 /* Tag entries */
936 #tagEntries { list-style: none; margin: 0; padding: 0; }
937 #tagEntries { list-style: none; margin: 0; padding: 0; }
937 #tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
938 #tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
938
939
939 /* Changeset entry */
940 /* Changeset entry */
940 #changesetEntry { }
941 #changesetEntry { }
941 #changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
942 #changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
942 #changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
943 #changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
943
944
944 /* File diff view */
945 /* File diff view */
945 #filediffEntry { }
946 #filediffEntry { }
946 #filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
947 #filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
947
948
948 /* Graph */
949 /* Graph */
949 div#wrapper {
950 div#wrapper {
950 position: relative;
951 position: relative;
951 margin: 0;
952 margin: 0;
952 padding: 0;
953 padding: 0;
953 }
954 }
954
955
955 canvas {
956 canvas {
956 position: absolute;
957 position: absolute;
957 z-index: 5;
958 z-index: 5;
958 top: -0.6em;
959 top: -0.6em;
959 margin: 0;
960 margin: 0;
960 }
961 }
961
962
962 ul#nodebgs {
963 ul#nodebgs {
963 list-style: none inside none;
964 list-style: none inside none;
964 padding: 0;
965 padding: 0;
965 margin: 0;
966 margin: 0;
966 top: -0.7em;
967 top: -0.7em;
967 }
968 }
968
969
969 ul#graphnodes li, ul#nodebgs li {
970 ul#graphnodes li, ul#nodebgs li {
970 height: 39px;
971 height: 39px;
971 }
972 }
972
973
973 ul#graphnodes {
974 ul#graphnodes {
974 position: absolute;
975 position: absolute;
975 z-index: 10;
976 z-index: 10;
976 top: -0.85em;
977 top: -0.85em;
977 list-style: none inside none;
978 list-style: none inside none;
978 padding: 0;
979 padding: 0;
979 }
980 }
980
981
981 ul#graphnodes li .info {
982 ul#graphnodes li .info {
982 display: block;
983 display: block;
983 font-size: 70%;
984 font-size: 70%;
984 position: relative;
985 position: relative;
985 top: -1px;
986 top: -1px;
986 }
987 }
987 % ERRORS ENCOUNTERED
988 % ERRORS ENCOUNTERED
@@ -1,509 +1,542
1 adding isolatin.txt
1 adding isolatin.txt
2 adding primes.py
2 adding primes.py
3 % hg serve
3 % hg serve
4 % hgweb filerevision, html
4 % hgweb filerevision, html
5 200 Script output follows
5 200 Script output follows
6
6
7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
9 <head>
9 <head>
10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
11 <meta name="robots" content="index, nofollow" />
11 <meta name="robots" content="index, nofollow" />
12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
13
13
14 <link rel="stylesheet" href="/highlightcss" type="text/css" />
14 <link rel="stylesheet" href="/highlightcss" type="text/css" />
15 <title>test: 3e1445510fe7 primes.py</title>
15 <title>test: 3e1445510fe7 primes.py</title>
16 </head>
16 </head>
17 <body>
17 <body>
18
18
19 <div class="container">
19 <div class="container">
20 <div class="menu">
20 <div class="menu">
21 <div class="logo">
21 <div class="logo">
22 <a href="http://www.selenic.com/mercurial/">
22 <a href="http://www.selenic.com/mercurial/">
23 <img src="/static/hglogo.png" alt="mercurial" /></a>
23 <img src="/static/hglogo.png" alt="mercurial" /></a>
24 </div>
24 </div>
25 <ul>
25 <ul>
26 <li><a href="/shortlog/3e1445510fe7">log</a></li>
26 <li><a href="/shortlog/3e1445510fe7">log</a></li>
27 <li><a href="/graph/3e1445510fe7">graph</a></li>
27 <li><a href="/graph/3e1445510fe7">graph</a></li>
28 <li><a href="/tags">tags</a></li>
28 <li><a href="/tags">tags</a></li>
29 <li><a href="/branches">branches</a></li>
29 <li><a href="/branches">branches</a></li>
30 </ul>
30 </ul>
31 <ul>
31 <ul>
32 <li><a href="/rev/3e1445510fe7">changeset</a></li>
32 <li><a href="/rev/3e1445510fe7">changeset</a></li>
33 <li><a href="/file/3e1445510fe7/">browse</a></li>
33 <li><a href="/file/3e1445510fe7/">browse</a></li>
34 </ul>
34 </ul>
35 <ul>
35 <ul>
36 <li class="active">file</li>
36 <li class="active">file</li>
37 <li><a href="/diff/3e1445510fe7/primes.py">diff</a></li>
37 <li><a href="/diff/3e1445510fe7/primes.py">diff</a></li>
38 <li><a href="/annotate/3e1445510fe7/primes.py">annotate</a></li>
38 <li><a href="/annotate/3e1445510fe7/primes.py">annotate</a></li>
39 <li><a href="/log/3e1445510fe7/primes.py">file log</a></li>
39 <li><a href="/log/3e1445510fe7/primes.py">file log</a></li>
40 <li><a href="/raw-file/3e1445510fe7/primes.py">raw</a></li>
40 <li><a href="/raw-file/3e1445510fe7/primes.py">raw</a></li>
41 </ul>
41 </ul>
42 </div>
42 </div>
43
43
44 <div class="main">
44 <div class="main">
45 <h2><a href="/">test</a></h2>
45 <h2><a href="/">test</a></h2>
46 <h3>view primes.py @ 0:3e1445510fe7</h3>
46 <h3>view primes.py @ 0:3e1445510fe7</h3>
47
47
48 <form class="search" action="/log">
48 <form class="search" action="/log">
49
49
50 <p><input name="rev" id="search1" type="text" size="30" /></p>
50 <p><input name="rev" id="search1" type="text" size="30" /></p>
51 <div id="hint">find changesets by author, revision,
51 <div id="hint">find changesets by author, revision,
52 files, or words in the commit message</div>
52 files, or words in the commit message</div>
53 </form>
53 </form>
54
54
55 <div class="description">a</div>
55 <div class="description">a</div>
56
56
57 <table id="changesetEntry">
57 <table id="changesetEntry">
58 <tr>
58 <tr>
59 <th class="author">author</th>
59 <th class="author">author</th>
60 <td class="author">&#116;&#101;&#115;&#116;</td>
60 <td class="author">&#116;&#101;&#115;&#116;</td>
61 </tr>
61 </tr>
62 <tr>
62 <tr>
63 <th class="date">date</th>
63 <th class="date">date</th>
64 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
64 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
65 </tr>
65 </tr>
66 <tr>
66 <tr>
67 <th class="author">parents</th>
67 <th class="author">parents</th>
68 <td class="author"></td>
68 <td class="author"></td>
69 </tr>
69 </tr>
70 <tr>
70 <tr>
71 <th class="author">children</th>
71 <th class="author">children</th>
72 <td class="author"></td>
72 <td class="author"></td>
73 </tr>
73 </tr>
74
74
75 </table>
75 </table>
76
76
77 <div class="overflow">
77 <div class="overflow">
78 <div class="sourcefirst"> line source</div>
78 <div class="sourcefirst"> line source</div>
79 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></div><div class="parity1 source"><a href="#l2" id="l2"> 2</a> </div><div class="parity0 source"><a href="#l3" id="l3"> 3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></div><div class="parity1 source"><a href="#l4" id="l4"> 4</a> </div><div class="parity0 source"><a href="#l5" id="l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></div><div class="parity1 source"><a href="#l6" id="l6"> 6</a> <span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></div><div class="parity0 source"><a href="#l7" id="l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></div><div class="parity1 source"><a href="#l8" id="l8"> 8</a> </div><div class="parity0 source"><a href="#l9" id="l9"> 9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></div><div class="parity1 source"><a href="#l10" id="l10"> 10</a> </div><div class="parity0 source"><a href="#l11" id="l11"> 11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></div><div class="parity1 source"><a href="#l12" id="l12"> 12</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></div><div class="parity0 source"><a href="#l13" id="l13"> 13</a> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></div><div class="parity1 source"><a href="#l14" id="l14"> 14</a> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></div><div class="parity0 source"><a href="#l15" id="l15"> 15</a> <span class="c"># It is important to yield *here* in order to stop the</span></div><div class="parity1 source"><a href="#l16" id="l16"> 16</a> <span class="c"># infinite recursion.</span></div><div class="parity0 source"><a href="#l17" id="l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></div><div class="parity1 source"><a href="#l18" id="l18"> 18</a> <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></div><div class="parity0 source"><a href="#l19" id="l19"> 19</a> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></div><div class="parity1 source"><a href="#l20" id="l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></div><div class="parity0 source"><a href="#l21" id="l21"> 21</a> </div><div class="parity1 source"><a href="#l22" id="l22"> 22</a> <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></div><div class="parity0 source"><a href="#l23" id="l23"> 23</a> <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></div><div class="parity1 source"><a href="#l24" id="l24"> 24</a> </div><div class="parity0 source"><a href="#l25" id="l25"> 25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></div><div class="parity1 source"><a href="#l26" id="l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></div><div class="parity0 source"><a href="#l27" id="l27"> 27</a> <span class="kn">try</span><span class="p">:</span></div><div class="parity1 source"><a href="#l28" id="l28"> 28</a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></div><div class="parity0 source"><a href="#l29" id="l29"> 29</a> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></div><div class="parity1 source"><a href="#l30" id="l30"> 30</a> <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></div><div class="parity0 source"><a href="#l31" id="l31"> 31</a> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></div><div class="parity1 source"><a href="#l32" id="l32"> 32</a> <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></div>
79
80 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></div>
81 <div class="parity1 source"><a href="#l2" id="l2"> 2</a> </div>
82 <div class="parity0 source"><a href="#l3" id="l3"> 3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></div>
83 <div class="parity1 source"><a href="#l4" id="l4"> 4</a> </div>
84 <div class="parity0 source"><a href="#l5" id="l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></div>
85 <div class="parity1 source"><a href="#l6" id="l6"> 6</a> <span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></div>
86 <div class="parity0 source"><a href="#l7" id="l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></div>
87 <div class="parity1 source"><a href="#l8" id="l8"> 8</a> </div>
88 <div class="parity0 source"><a href="#l9" id="l9"> 9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></div>
89 <div class="parity1 source"><a href="#l10" id="l10"> 10</a> </div>
90 <div class="parity0 source"><a href="#l11" id="l11"> 11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></div>
91 <div class="parity1 source"><a href="#l12" id="l12"> 12</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></div>
92 <div class="parity0 source"><a href="#l13" id="l13"> 13</a> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></div>
93 <div class="parity1 source"><a href="#l14" id="l14"> 14</a> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></div>
94 <div class="parity0 source"><a href="#l15" id="l15"> 15</a> <span class="c"># It is important to yield *here* in order to stop the</span></div>
95 <div class="parity1 source"><a href="#l16" id="l16"> 16</a> <span class="c"># infinite recursion.</span></div>
96 <div class="parity0 source"><a href="#l17" id="l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></div>
97 <div class="parity1 source"><a href="#l18" id="l18"> 18</a> <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></div>
98 <div class="parity0 source"><a href="#l19" id="l19"> 19</a> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></div>
99 <div class="parity1 source"><a href="#l20" id="l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></div>
100 <div class="parity0 source"><a href="#l21" id="l21"> 21</a> </div>
101 <div class="parity1 source"><a href="#l22" id="l22"> 22</a> <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></div>
102 <div class="parity0 source"><a href="#l23" id="l23"> 23</a> <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></div>
103 <div class="parity1 source"><a href="#l24" id="l24"> 24</a> </div>
104 <div class="parity0 source"><a href="#l25" id="l25"> 25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></div>
105 <div class="parity1 source"><a href="#l26" id="l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></div>
106 <div class="parity0 source"><a href="#l27" id="l27"> 27</a> <span class="kn">try</span><span class="p">:</span></div>
107 <div class="parity1 source"><a href="#l28" id="l28"> 28</a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></div>
108 <div class="parity0 source"><a href="#l29" id="l29"> 29</a> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></div>
109 <div class="parity1 source"><a href="#l30" id="l30"> 30</a> <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></div>
110 <div class="parity0 source"><a href="#l31" id="l31"> 31</a> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></div>
111 <div class="parity1 source"><a href="#l32" id="l32"> 32</a> <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></div>
80 <div class="sourcelast"></div>
112 <div class="sourcelast"></div>
81 </div>
113 </div>
82 </div>
114 </div>
83 </div>
115 </div>
84
116
85
117
86
118
87 </body>
119 </body>
88 </html>
120 </html>
89
121
90 % hgweb filerevision, html
122 % hgweb filerevision, html
91 200 Script output follows
123 200 Script output follows
92
124
93 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
125 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
94 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
126 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
95 <head>
127 <head>
96 <link rel="icon" href="/static/hgicon.png" type="image/png" />
128 <link rel="icon" href="/static/hgicon.png" type="image/png" />
97 <meta name="robots" content="index, nofollow" />
129 <meta name="robots" content="index, nofollow" />
98 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
130 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
99
131
100 <link rel="stylesheet" href="/highlightcss" type="text/css" />
132 <link rel="stylesheet" href="/highlightcss" type="text/css" />
101 <title>test: 3e1445510fe7 isolatin.txt</title>
133 <title>test: 3e1445510fe7 isolatin.txt</title>
102 </head>
134 </head>
103 <body>
135 <body>
104
136
105 <div class="container">
137 <div class="container">
106 <div class="menu">
138 <div class="menu">
107 <div class="logo">
139 <div class="logo">
108 <a href="http://www.selenic.com/mercurial/">
140 <a href="http://www.selenic.com/mercurial/">
109 <img src="/static/hglogo.png" alt="mercurial" /></a>
141 <img src="/static/hglogo.png" alt="mercurial" /></a>
110 </div>
142 </div>
111 <ul>
143 <ul>
112 <li><a href="/shortlog/3e1445510fe7">log</a></li>
144 <li><a href="/shortlog/3e1445510fe7">log</a></li>
113 <li><a href="/graph/3e1445510fe7">graph</a></li>
145 <li><a href="/graph/3e1445510fe7">graph</a></li>
114 <li><a href="/tags">tags</a></li>
146 <li><a href="/tags">tags</a></li>
115 <li><a href="/branches">branches</a></li>
147 <li><a href="/branches">branches</a></li>
116 </ul>
148 </ul>
117 <ul>
149 <ul>
118 <li><a href="/rev/3e1445510fe7">changeset</a></li>
150 <li><a href="/rev/3e1445510fe7">changeset</a></li>
119 <li><a href="/file/3e1445510fe7/">browse</a></li>
151 <li><a href="/file/3e1445510fe7/">browse</a></li>
120 </ul>
152 </ul>
121 <ul>
153 <ul>
122 <li class="active">file</li>
154 <li class="active">file</li>
123 <li><a href="/diff/3e1445510fe7/isolatin.txt">diff</a></li>
155 <li><a href="/diff/3e1445510fe7/isolatin.txt">diff</a></li>
124 <li><a href="/annotate/3e1445510fe7/isolatin.txt">annotate</a></li>
156 <li><a href="/annotate/3e1445510fe7/isolatin.txt">annotate</a></li>
125 <li><a href="/log/3e1445510fe7/isolatin.txt">file log</a></li>
157 <li><a href="/log/3e1445510fe7/isolatin.txt">file log</a></li>
126 <li><a href="/raw-file/3e1445510fe7/isolatin.txt">raw</a></li>
158 <li><a href="/raw-file/3e1445510fe7/isolatin.txt">raw</a></li>
127 </ul>
159 </ul>
128 </div>
160 </div>
129
161
130 <div class="main">
162 <div class="main">
131 <h2><a href="/">test</a></h2>
163 <h2><a href="/">test</a></h2>
132 <h3>view isolatin.txt @ 0:3e1445510fe7</h3>
164 <h3>view isolatin.txt @ 0:3e1445510fe7</h3>
133
165
134 <form class="search" action="/log">
166 <form class="search" action="/log">
135
167
136 <p><input name="rev" id="search1" type="text" size="30" /></p>
168 <p><input name="rev" id="search1" type="text" size="30" /></p>
137 <div id="hint">find changesets by author, revision,
169 <div id="hint">find changesets by author, revision,
138 files, or words in the commit message</div>
170 files, or words in the commit message</div>
139 </form>
171 </form>
140
172
141 <div class="description">a</div>
173 <div class="description">a</div>
142
174
143 <table id="changesetEntry">
175 <table id="changesetEntry">
144 <tr>
176 <tr>
145 <th class="author">author</th>
177 <th class="author">author</th>
146 <td class="author">&#116;&#101;&#115;&#116;</td>
178 <td class="author">&#116;&#101;&#115;&#116;</td>
147 </tr>
179 </tr>
148 <tr>
180 <tr>
149 <th class="date">date</th>
181 <th class="date">date</th>
150 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
182 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
151 </tr>
183 </tr>
152 <tr>
184 <tr>
153 <th class="author">parents</th>
185 <th class="author">parents</th>
154 <td class="author"></td>
186 <td class="author"></td>
155 </tr>
187 </tr>
156 <tr>
188 <tr>
157 <th class="author">children</th>
189 <th class="author">children</th>
158 <td class="author"></td>
190 <td class="author"></td>
159 </tr>
191 </tr>
160
192
161 </table>
193 </table>
162
194
163 <div class="overflow">
195 <div class="overflow">
164 <div class="sourcefirst"> line source</div>
196 <div class="sourcefirst"> line source</div>
197
165 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> h?bsch</div>
198 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> h?bsch</div>
166 <div class="sourcelast"></div>
199 <div class="sourcelast"></div>
167 </div>
200 </div>
168 </div>
201 </div>
169 </div>
202 </div>
170
203
171
204
172
205
173 </body>
206 </body>
174 </html>
207 </html>
175
208
176 % hgweb fileannotate, html
209 % hgweb fileannotate, html
177 200 Script output follows
210 200 Script output follows
178
211
179 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
212 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
180 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
213 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
181 <head>
214 <head>
182 <link rel="icon" href="/static/hgicon.png" type="image/png" />
215 <link rel="icon" href="/static/hgicon.png" type="image/png" />
183 <meta name="robots" content="index, nofollow" />
216 <meta name="robots" content="index, nofollow" />
184 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
217 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
185
218
186 <link rel="stylesheet" href="/highlightcss" type="text/css" />
219 <link rel="stylesheet" href="/highlightcss" type="text/css" />
187 <title>test: primes.py annotate</title>
220 <title>test: primes.py annotate</title>
188 </head>
221 </head>
189 <body>
222 <body>
190
223
191 <div class="container">
224 <div class="container">
192 <div class="menu">
225 <div class="menu">
193 <div class="logo">
226 <div class="logo">
194 <a href="http://www.selenic.com/mercurial/">
227 <a href="http://www.selenic.com/mercurial/">
195 <img src="/static/hglogo.png" alt="mercurial" /></a>
228 <img src="/static/hglogo.png" alt="mercurial" /></a>
196 </div>
229 </div>
197 <ul>
230 <ul>
198 <li><a href="/shortlog/3e1445510fe7">log</a></li>
231 <li><a href="/shortlog/3e1445510fe7">log</a></li>
199 <li><a href="/graph/3e1445510fe7">graph</a></li>
232 <li><a href="/graph/3e1445510fe7">graph</a></li>
200 <li><a href="/tags">tags</a></li>
233 <li><a href="/tags">tags</a></li>
201 <li><a href="/branches">branches</a></li>
234 <li><a href="/branches">branches</a></li>
202 </ul>
235 </ul>
203
236
204 <ul>
237 <ul>
205 <li><a href="/rev/3e1445510fe7">changeset</a></li>
238 <li><a href="/rev/3e1445510fe7">changeset</a></li>
206 <li><a href="/file/3e1445510fe7/">browse</a></li>
239 <li><a href="/file/3e1445510fe7/">browse</a></li>
207 </ul>
240 </ul>
208 <ul>
241 <ul>
209 <li><a href="/file/3e1445510fe7/primes.py">file</a></li>
242 <li><a href="/file/3e1445510fe7/primes.py">file</a></li>
210 <li><a href="/diff/3e1445510fe7/primes.py">diff</a></li>
243 <li><a href="/diff/3e1445510fe7/primes.py">diff</a></li>
211 <li class="active">annotate</li>
244 <li class="active">annotate</li>
212 <li><a href="/log/3e1445510fe7/primes.py">file log</a></li>
245 <li><a href="/log/3e1445510fe7/primes.py">file log</a></li>
213 <li><a href="/raw-annotate/3e1445510fe7/primes.py">raw</a></li>
246 <li><a href="/raw-annotate/3e1445510fe7/primes.py">raw</a></li>
214 </ul>
247 </ul>
215 </div>
248 </div>
216
249
217 <div class="main">
250 <div class="main">
218 <h2><a href="/">test</a></h2>
251 <h2><a href="/">test</a></h2>
219 <h3>annotate primes.py @ 0:3e1445510fe7</h3>
252 <h3>annotate primes.py @ 0:3e1445510fe7</h3>
220
253
221 <form class="search" action="/log">
254 <form class="search" action="/log">
222
255
223 <p><input name="rev" id="search1" type="text" size="30" /></p>
256 <p><input name="rev" id="search1" type="text" size="30" /></p>
224 <div id="hint">find changesets by author, revision,
257 <div id="hint">find changesets by author, revision,
225 files, or words in the commit message</div>
258 files, or words in the commit message</div>
226 </form>
259 </form>
227
260
228 <div class="description">a</div>
261 <div class="description">a</div>
229
262
230 <table id="changesetEntry">
263 <table id="changesetEntry">
231 <tr>
264 <tr>
232 <th class="author">author</th>
265 <th class="author">author</th>
233 <td class="author">&#116;&#101;&#115;&#116;</td>
266 <td class="author">&#116;&#101;&#115;&#116;</td>
234 </tr>
267 </tr>
235 <tr>
268 <tr>
236 <th class="date">date</th>
269 <th class="date">date</th>
237 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
270 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
238 </tr>
271 </tr>
239 <tr>
272 <tr>
240 <th class="author">parents</th>
273 <th class="author">parents</th>
241 <td class="author"></td>
274 <td class="author"></td>
242 </tr>
275 </tr>
243 <tr>
276 <tr>
244 <th class="author">children</th>
277 <th class="author">children</th>
245 <td class="author"></td>
278 <td class="author"></td>
246 </tr>
279 </tr>
247
280
248 </table>
281 </table>
249
282
250 <br/>
283 <br/>
251
284
252 <div class="overflow">
285 <div class="overflow">
253 <table class="bigtable">
286 <table class="bigtable">
254 <tr>
287 <tr>
255 <th class="annotate">rev</th>
288 <th class="annotate">rev</th>
256 <th class="line">&nbsp;&nbsp;line source</th>
289 <th class="line">&nbsp;&nbsp;line source</th>
257 </tr>
290 </tr>
258
291
259 <tr class="parity0">
292 <tr class="parity0">
260 <td class="annotate">
293 <td class="annotate">
261 <a href="/annotate/3e1445510fe7/primes.py#1"
294 <a href="/annotate/3e1445510fe7/primes.py#1"
262 title="3e1445510fe7: a">test@0</a>
295 title="3e1445510fe7: a">test@0</a>
263 </td>
296 </td>
264 <td class="source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></td>
297 <td class="source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></td>
265 </tr>
298 </tr>
266 <tr class="parity1">
299 <tr class="parity1">
267 <td class="annotate">
300 <td class="annotate">
268 <a href="/annotate/3e1445510fe7/primes.py#2"
301 <a href="/annotate/3e1445510fe7/primes.py#2"
269 title="3e1445510fe7: a">test@0</a>
302 title="3e1445510fe7: a">test@0</a>
270 </td>
303 </td>
271 <td class="source"><a href="#l2" id="l2"> 2</a> </td>
304 <td class="source"><a href="#l2" id="l2"> 2</a> </td>
272 </tr>
305 </tr>
273 <tr class="parity0">
306 <tr class="parity0">
274 <td class="annotate">
307 <td class="annotate">
275 <a href="/annotate/3e1445510fe7/primes.py#3"
308 <a href="/annotate/3e1445510fe7/primes.py#3"
276 title="3e1445510fe7: a">test@0</a>
309 title="3e1445510fe7: a">test@0</a>
277 </td>
310 </td>
278 <td class="source"><a href="#l3" id="l3"> 3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
311 <td class="source"><a href="#l3" id="l3"> 3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
279 </tr>
312 </tr>
280 <tr class="parity1">
313 <tr class="parity1">
281 <td class="annotate">
314 <td class="annotate">
282 <a href="/annotate/3e1445510fe7/primes.py#4"
315 <a href="/annotate/3e1445510fe7/primes.py#4"
283 title="3e1445510fe7: a">test@0</a>
316 title="3e1445510fe7: a">test@0</a>
284 </td>
317 </td>
285 <td class="source"><a href="#l4" id="l4"> 4</a> </td>
318 <td class="source"><a href="#l4" id="l4"> 4</a> </td>
286 </tr>
319 </tr>
287 <tr class="parity0">
320 <tr class="parity0">
288 <td class="annotate">
321 <td class="annotate">
289 <a href="/annotate/3e1445510fe7/primes.py#5"
322 <a href="/annotate/3e1445510fe7/primes.py#5"
290 title="3e1445510fe7: a">test@0</a>
323 title="3e1445510fe7: a">test@0</a>
291 </td>
324 </td>
292 <td class="source"><a href="#l5" id="l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
325 <td class="source"><a href="#l5" id="l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
293 </tr>
326 </tr>
294 <tr class="parity1">
327 <tr class="parity1">
295 <td class="annotate">
328 <td class="annotate">
296 <a href="/annotate/3e1445510fe7/primes.py#6"
329 <a href="/annotate/3e1445510fe7/primes.py#6"
297 title="3e1445510fe7: a">test@0</a>
330 title="3e1445510fe7: a">test@0</a>
298 </td>
331 </td>
299 <td class="source"><a href="#l6" id="l6"> 6</a> <span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></td>
332 <td class="source"><a href="#l6" id="l6"> 6</a> <span class="sd"> where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></td>
300 </tr>
333 </tr>
301 <tr class="parity0">
334 <tr class="parity0">
302 <td class="annotate">
335 <td class="annotate">
303 <a href="/annotate/3e1445510fe7/primes.py#7"
336 <a href="/annotate/3e1445510fe7/primes.py#7"
304 title="3e1445510fe7: a">test@0</a>
337 title="3e1445510fe7: a">test@0</a>
305 </td>
338 </td>
306 <td class="source"><a href="#l7" id="l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></td>
339 <td class="source"><a href="#l7" id="l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></td>
307 </tr>
340 </tr>
308 <tr class="parity1">
341 <tr class="parity1">
309 <td class="annotate">
342 <td class="annotate">
310 <a href="/annotate/3e1445510fe7/primes.py#8"
343 <a href="/annotate/3e1445510fe7/primes.py#8"
311 title="3e1445510fe7: a">test@0</a>
344 title="3e1445510fe7: a">test@0</a>
312 </td>
345 </td>
313 <td class="source"><a href="#l8" id="l8"> 8</a> </td>
346 <td class="source"><a href="#l8" id="l8"> 8</a> </td>
314 </tr>
347 </tr>
315 <tr class="parity0">
348 <tr class="parity0">
316 <td class="annotate">
349 <td class="annotate">
317 <a href="/annotate/3e1445510fe7/primes.py#9"
350 <a href="/annotate/3e1445510fe7/primes.py#9"
318 title="3e1445510fe7: a">test@0</a>
351 title="3e1445510fe7: a">test@0</a>
319 </td>
352 </td>
320 <td class="source"><a href="#l9" id="l9"> 9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></td>
353 <td class="source"><a href="#l9" id="l9"> 9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></td>
321 </tr>
354 </tr>
322 <tr class="parity1">
355 <tr class="parity1">
323 <td class="annotate">
356 <td class="annotate">
324 <a href="/annotate/3e1445510fe7/primes.py#10"
357 <a href="/annotate/3e1445510fe7/primes.py#10"
325 title="3e1445510fe7: a">test@0</a>
358 title="3e1445510fe7: a">test@0</a>
326 </td>
359 </td>
327 <td class="source"><a href="#l10" id="l10"> 10</a> </td>
360 <td class="source"><a href="#l10" id="l10"> 10</a> </td>
328 </tr>
361 </tr>
329 <tr class="parity0">
362 <tr class="parity0">
330 <td class="annotate">
363 <td class="annotate">
331 <a href="/annotate/3e1445510fe7/primes.py#11"
364 <a href="/annotate/3e1445510fe7/primes.py#11"
332 title="3e1445510fe7: a">test@0</a>
365 title="3e1445510fe7: a">test@0</a>
333 </td>
366 </td>
334 <td class="source"><a href="#l11" id="l11"> 11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></td>
367 <td class="source"><a href="#l11" id="l11"> 11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></td>
335 </tr>
368 </tr>
336 <tr class="parity1">
369 <tr class="parity1">
337 <td class="annotate">
370 <td class="annotate">
338 <a href="/annotate/3e1445510fe7/primes.py#12"
371 <a href="/annotate/3e1445510fe7/primes.py#12"
339 title="3e1445510fe7: a">test@0</a>
372 title="3e1445510fe7: a">test@0</a>
340 </td>
373 </td>
341 <td class="source"><a href="#l12" id="l12"> 12</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
374 <td class="source"><a href="#l12" id="l12"> 12</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
342 </tr>
375 </tr>
343 <tr class="parity0">
376 <tr class="parity0">
344 <td class="annotate">
377 <td class="annotate">
345 <a href="/annotate/3e1445510fe7/primes.py#13"
378 <a href="/annotate/3e1445510fe7/primes.py#13"
346 title="3e1445510fe7: a">test@0</a>
379 title="3e1445510fe7: a">test@0</a>
347 </td>
380 </td>
348 <td class="source"><a href="#l13" id="l13"> 13</a> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
381 <td class="source"><a href="#l13" id="l13"> 13</a> <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
349 </tr>
382 </tr>
350 <tr class="parity1">
383 <tr class="parity1">
351 <td class="annotate">
384 <td class="annotate">
352 <a href="/annotate/3e1445510fe7/primes.py#14"
385 <a href="/annotate/3e1445510fe7/primes.py#14"
353 title="3e1445510fe7: a">test@0</a>
386 title="3e1445510fe7: a">test@0</a>
354 </td>
387 </td>
355 <td class="source"><a href="#l14" id="l14"> 14</a> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></td>
388 <td class="source"><a href="#l14" id="l14"> 14</a> <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></td>
356 </tr>
389 </tr>
357 <tr class="parity0">
390 <tr class="parity0">
358 <td class="annotate">
391 <td class="annotate">
359 <a href="/annotate/3e1445510fe7/primes.py#15"
392 <a href="/annotate/3e1445510fe7/primes.py#15"
360 title="3e1445510fe7: a">test@0</a>
393 title="3e1445510fe7: a">test@0</a>
361 </td>
394 </td>
362 <td class="source"><a href="#l15" id="l15"> 15</a> <span class="c"># It is important to yield *here* in order to stop the</span></td>
395 <td class="source"><a href="#l15" id="l15"> 15</a> <span class="c"># It is important to yield *here* in order to stop the</span></td>
363 </tr>
396 </tr>
364 <tr class="parity1">
397 <tr class="parity1">
365 <td class="annotate">
398 <td class="annotate">
366 <a href="/annotate/3e1445510fe7/primes.py#16"
399 <a href="/annotate/3e1445510fe7/primes.py#16"
367 title="3e1445510fe7: a">test@0</a>
400 title="3e1445510fe7: a">test@0</a>
368 </td>
401 </td>
369 <td class="source"><a href="#l16" id="l16"> 16</a> <span class="c"># infinite recursion.</span></td>
402 <td class="source"><a href="#l16" id="l16"> 16</a> <span class="c"># infinite recursion.</span></td>
370 </tr>
403 </tr>
371 <tr class="parity0">
404 <tr class="parity0">
372 <td class="annotate">
405 <td class="annotate">
373 <a href="/annotate/3e1445510fe7/primes.py#17"
406 <a href="/annotate/3e1445510fe7/primes.py#17"
374 title="3e1445510fe7: a">test@0</a>
407 title="3e1445510fe7: a">test@0</a>
375 </td>
408 </td>
376 <td class="source"><a href="#l17" id="l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></td>
409 <td class="source"><a href="#l17" id="l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></td>
377 </tr>
410 </tr>
378 <tr class="parity1">
411 <tr class="parity1">
379 <td class="annotate">
412 <td class="annotate">
380 <a href="/annotate/3e1445510fe7/primes.py#18"
413 <a href="/annotate/3e1445510fe7/primes.py#18"
381 title="3e1445510fe7: a">test@0</a>
414 title="3e1445510fe7: a">test@0</a>
382 </td>
415 </td>
383 <td class="source"><a href="#l18" id="l18"> 18</a> <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mf">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></td>
416 <td class="source"><a href="#l18" id="l18"> 18</a> <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mf">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></td>
384 </tr>
417 </tr>
385 <tr class="parity0">
418 <tr class="parity0">
386 <td class="annotate">
419 <td class="annotate">
387 <a href="/annotate/3e1445510fe7/primes.py#19"
420 <a href="/annotate/3e1445510fe7/primes.py#19"
388 title="3e1445510fe7: a">test@0</a>
421 title="3e1445510fe7: a">test@0</a>
389 </td>
422 </td>
390 <td class="source"><a href="#l19" id="l19"> 19</a> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
423 <td class="source"><a href="#l19" id="l19"> 19</a> <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
391 </tr>
424 </tr>
392 <tr class="parity1">
425 <tr class="parity1">
393 <td class="annotate">
426 <td class="annotate">
394 <a href="/annotate/3e1445510fe7/primes.py#20"
427 <a href="/annotate/3e1445510fe7/primes.py#20"
395 title="3e1445510fe7: a">test@0</a>
428 title="3e1445510fe7: a">test@0</a>
396 </td>
429 </td>
397 <td class="source"><a href="#l20" id="l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></td>
430 <td class="source"><a href="#l20" id="l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></td>
398 </tr>
431 </tr>
399 <tr class="parity0">
432 <tr class="parity0">
400 <td class="annotate">
433 <td class="annotate">
401 <a href="/annotate/3e1445510fe7/primes.py#21"
434 <a href="/annotate/3e1445510fe7/primes.py#21"
402 title="3e1445510fe7: a">test@0</a>
435 title="3e1445510fe7: a">test@0</a>
403 </td>
436 </td>
404 <td class="source"><a href="#l21" id="l21"> 21</a> </td>
437 <td class="source"><a href="#l21" id="l21"> 21</a> </td>
405 </tr>
438 </tr>
406 <tr class="parity1">
439 <tr class="parity1">
407 <td class="annotate">
440 <td class="annotate">
408 <a href="/annotate/3e1445510fe7/primes.py#22"
441 <a href="/annotate/3e1445510fe7/primes.py#22"
409 title="3e1445510fe7: a">test@0</a>
442 title="3e1445510fe7: a">test@0</a>
410 </td>
443 </td>
411 <td class="source"><a href="#l22" id="l22"> 22</a> <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mf">2</span> <span class="o">==</span> <span class="mf">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></td>
444 <td class="source"><a href="#l22" id="l22"> 22</a> <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mf">2</span> <span class="o">==</span> <span class="mf">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></td>
412 </tr>
445 </tr>
413 <tr class="parity0">
446 <tr class="parity0">
414 <td class="annotate">
447 <td class="annotate">
415 <a href="/annotate/3e1445510fe7/primes.py#23"
448 <a href="/annotate/3e1445510fe7/primes.py#23"
416 title="3e1445510fe7: a">test@0</a>
449 title="3e1445510fe7: a">test@0</a>
417 </td>
450 </td>
418 <td class="source"><a href="#l23" id="l23"> 23</a> <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mf">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mf">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></td>
451 <td class="source"><a href="#l23" id="l23"> 23</a> <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mf">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mf">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></td>
419 </tr>
452 </tr>
420 <tr class="parity1">
453 <tr class="parity1">
421 <td class="annotate">
454 <td class="annotate">
422 <a href="/annotate/3e1445510fe7/primes.py#24"
455 <a href="/annotate/3e1445510fe7/primes.py#24"
423 title="3e1445510fe7: a">test@0</a>
456 title="3e1445510fe7: a">test@0</a>
424 </td>
457 </td>
425 <td class="source"><a href="#l24" id="l24"> 24</a> </td>
458 <td class="source"><a href="#l24" id="l24"> 24</a> </td>
426 </tr>
459 </tr>
427 <tr class="parity0">
460 <tr class="parity0">
428 <td class="annotate">
461 <td class="annotate">
429 <a href="/annotate/3e1445510fe7/primes.py#25"
462 <a href="/annotate/3e1445510fe7/primes.py#25"
430 title="3e1445510fe7: a">test@0</a>
463 title="3e1445510fe7: a">test@0</a>
431 </td>
464 </td>
432 <td class="source"><a href="#l25" id="l25"> 25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></td>
465 <td class="source"><a href="#l25" id="l25"> 25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></td>
433 </tr>
466 </tr>
434 <tr class="parity1">
467 <tr class="parity1">
435 <td class="annotate">
468 <td class="annotate">
436 <a href="/annotate/3e1445510fe7/primes.py#26"
469 <a href="/annotate/3e1445510fe7/primes.py#26"
437 title="3e1445510fe7: a">test@0</a>
470 title="3e1445510fe7: a">test@0</a>
438 </td>
471 </td>
439 <td class="source"><a href="#l26" id="l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></td>
472 <td class="source"><a href="#l26" id="l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></td>
440 </tr>
473 </tr>
441 <tr class="parity0">
474 <tr class="parity0">
442 <td class="annotate">
475 <td class="annotate">
443 <a href="/annotate/3e1445510fe7/primes.py#27"
476 <a href="/annotate/3e1445510fe7/primes.py#27"
444 title="3e1445510fe7: a">test@0</a>
477 title="3e1445510fe7: a">test@0</a>
445 </td>
478 </td>
446 <td class="source"><a href="#l27" id="l27"> 27</a> <span class="kn">try</span><span class="p">:</span></td>
479 <td class="source"><a href="#l27" id="l27"> 27</a> <span class="kn">try</span><span class="p">:</span></td>
447 </tr>
480 </tr>
448 <tr class="parity1">
481 <tr class="parity1">
449 <td class="annotate">
482 <td class="annotate">
450 <a href="/annotate/3e1445510fe7/primes.py#28"
483 <a href="/annotate/3e1445510fe7/primes.py#28"
451 title="3e1445510fe7: a">test@0</a>
484 title="3e1445510fe7: a">test@0</a>
452 </td>
485 </td>
453 <td class="source"><a href="#l28" id="l28"> 28</a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span></td>
486 <td class="source"><a href="#l28" id="l28"> 28</a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span></td>
454 </tr>
487 </tr>
455 <tr class="parity0">
488 <tr class="parity0">
456 <td class="annotate">
489 <td class="annotate">
457 <a href="/annotate/3e1445510fe7/primes.py#29"
490 <a href="/annotate/3e1445510fe7/primes.py#29"
458 title="3e1445510fe7: a">test@0</a>
491 title="3e1445510fe7: a">test@0</a>
459 </td>
492 </td>
460 <td class="source"><a href="#l29" id="l29"> 29</a> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></td>
493 <td class="source"><a href="#l29" id="l29"> 29</a> <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></td>
461 </tr>
494 </tr>
462 <tr class="parity1">
495 <tr class="parity1">
463 <td class="annotate">
496 <td class="annotate">
464 <a href="/annotate/3e1445510fe7/primes.py#30"
497 <a href="/annotate/3e1445510fe7/primes.py#30"
465 title="3e1445510fe7: a">test@0</a>
498 title="3e1445510fe7: a">test@0</a>
466 </td>
499 </td>
467 <td class="source"><a href="#l30" id="l30"> 30</a> <span class="n">n</span> <span class="o">=</span> <span class="mf">10</span></td>
500 <td class="source"><a href="#l30" id="l30"> 30</a> <span class="n">n</span> <span class="o">=</span> <span class="mf">10</span></td>
468 </tr>
501 </tr>
469 <tr class="parity0">
502 <tr class="parity0">
470 <td class="annotate">
503 <td class="annotate">
471 <a href="/annotate/3e1445510fe7/primes.py#31"
504 <a href="/annotate/3e1445510fe7/primes.py#31"
472 title="3e1445510fe7: a">test@0</a>
505 title="3e1445510fe7: a">test@0</a>
473 </td>
506 </td>
474 <td class="source"><a href="#l31" id="l31"> 31</a> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></td>
507 <td class="source"><a href="#l31" id="l31"> 31</a> <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></td>
475 </tr>
508 </tr>
476 <tr class="parity1">
509 <tr class="parity1">
477 <td class="annotate">
510 <td class="annotate">
478 <a href="/annotate/3e1445510fe7/primes.py#32"
511 <a href="/annotate/3e1445510fe7/primes.py#32"
479 title="3e1445510fe7: a">test@0</a>
512 title="3e1445510fe7: a">test@0</a>
480 </td>
513 </td>
481 <td class="source"><a href="#l32" id="l32"> 32</a> <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></td>
514 <td class="source"><a href="#l32" id="l32"> 32</a> <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></td>
482 </tr>
515 </tr>
483 </table>
516 </table>
484 </div>
517 </div>
485 </div>
518 </div>
486 </div>
519 </div>
487
520
488
521
489
522
490 </body>
523 </body>
491 </html>
524 </html>
492
525
493 % hgweb fileannotate, raw
526 % hgweb fileannotate, raw
494
527
495 % hgweb filerevision, raw
528 % hgweb filerevision, raw
496
529
497 % hgweb highlightcss friendly
530 % hgweb highlightcss friendly
498 200 Script output follows
531 200 Script output follows
499
532
500 /* pygments_style = friendly */
533 /* pygments_style = friendly */
501
534
502 % errors encountered
535 % errors encountered
503 % hg serve again
536 % hg serve again
504 % hgweb highlightcss fruity
537 % hgweb highlightcss fruity
505 200 Script output follows
538 200 Script output follows
506
539
507 /* pygments_style = fruity */
540 /* pygments_style = fruity */
508
541
509 % errors encountered
542 % errors encountered
General Comments 0
You need to be logged in to leave comments. Login now