##// END OF EJS Templates
coal/paper: show link to latest file revision (issue1344)
Dirkjan Ochtman -
r9720:bb00a159 default
parent child Browse files
Show More
@@ -1,77 +1,78
1 1 {header}
2 2 <title>{repo|escape}: {file|escape} annotate</title>
3 3 </head>
4 4 <body>
5 5
6 6 <div class="container">
7 7 <div class="menu">
8 8 <div class="logo">
9 9 <a href="http://mercurial.selenic.com/">
10 10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 11 </div>
12 12 <ul>
13 13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
17 17 </ul>
18 18
19 19 <ul>
20 20 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
21 21 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
22 22 </ul>
23 23 <ul>
24 24 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
25 <li><a href="{url}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li>
25 26 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
26 27 <li class="active">annotate</li>
27 28 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
28 29 <li><a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a></li>
29 30 </ul>
30 31 </div>
31 32
32 33 <div class="main">
33 34 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
34 35 <h3>annotate {file|escape} @ {rev}:{node|short}</h3>
35 36
36 37 <form class="search" action="{url}log">
37 38 {sessionvars%hiddenformentry}
38 39 <p><input name="rev" id="search1" type="text" size="30" /></p>
39 40 <div id="hint">find changesets by author, revision,
40 41 files, or words in the commit message</div>
41 42 </form>
42 43
43 44 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
44 45
45 46 <table id="changesetEntry">
46 47 <tr>
47 48 <th class="author">author</th>
48 49 <td class="author">{author|obfuscate}</td>
49 50 </tr>
50 51 <tr>
51 52 <th class="date">date</th>
52 53 <td class="date">{date|date} ({date|age} ago)</td>
53 54 </tr>
54 55 <tr>
55 56 <th class="author">parents</th>
56 57 <td class="author">{parent%filerevparent}</td>
57 58 </tr>
58 59 <tr>
59 60 <th class="author">children</th>
60 61 <td class="author">{child%filerevchild}</td>
61 62 </tr>
62 63 {changesettag}
63 64 </table>
64 65
65 66 <div class="overflow">
66 67 <table class="bigtable">
67 68 <tr>
68 69 <th class="annotate">rev</th>
69 70 <th class="line">&nbsp;&nbsp;line source</th>
70 71 </tr>
71 72 {annotate%annotateline}
72 73 </table>
73 74 </div>
74 75 </div>
75 76 </div>
76 77
77 78 {footer}
@@ -1,72 +1,73
1 1 {header}
2 2 <title>{repo|escape}: {file|escape} diff</title>
3 3 </head>
4 4 <body>
5 5
6 6 <div class="container">
7 7 <div class="menu">
8 8 <div class="logo">
9 9 <a href="http://mercurial.selenic.com/">
10 10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 11 </div>
12 12 <ul>
13 13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
17 17 </ul>
18 18 <ul>
19 19 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
20 20 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
21 21 </ul>
22 22 <ul>
23 23 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
24 <li><a href="{url}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li>
24 25 <li class="active">diff</li>
25 26 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
26 27 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
27 28 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
28 29 </ul>
29 30 </div>
30 31
31 32 <div class="main">
32 33 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
33 34 <h3>diff {file|escape} @ {rev}:{node|short}</h3>
34 35
35 36 <form class="search" action="{url}log">
36 37 <p>{sessionvars%hiddenformentry}</p>
37 38 <p><input name="rev" id="search1" type="text" size="30" /></p>
38 39 <div id="hint">find changesets by author, revision,
39 40 files, or words in the commit message</div>
40 41 </form>
41 42
42 43 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
43 44
44 45 <table id="changesetEntry">
45 46 <tr>
46 47 <th>author</th>
47 48 <td>{author|obfuscate}</td>
48 49 </tr>
49 50 <tr>
50 51 <th>date</th>
51 52 <td>{date|date} ({date|age} ago)</td>
52 53 </tr>
53 54 <tr>
54 55 <th>parents</th>
55 56 <td>{parent%filerevparent}</td>
56 57 </tr>
57 58 <tr>
58 59 <th>children</th>
59 60 <td>{child%filerevchild}</td>
60 61 </tr>
61 62 {changesettag}
62 63 </table>
63 64
64 65 <div class="overflow">
65 66 <div class="sourcefirst"> line diff</div>
66 67
67 68 {diff}
68 69 </div>
69 70 </div>
70 71 </div>
71 72
72 73 {footer}
@@ -1,72 +1,73
1 1 {header}
2 2 <title>{repo|escape}: {node|short} {file|escape}</title>
3 3 </head>
4 4 <body>
5 5
6 6 <div class="container">
7 7 <div class="menu">
8 8 <div class="logo">
9 9 <a href="http://mercurial.selenic.com/">
10 10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 11 </div>
12 12 <ul>
13 13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
17 17 </ul>
18 18 <ul>
19 19 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
20 20 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
21 21 </ul>
22 22 <ul>
23 23 <li class="active">file</li>
24 <li><a href="{url}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li>
24 25 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
25 26 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
26 27 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
27 28 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
28 29 </ul>
29 30 </div>
30 31
31 32 <div class="main">
32 33 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
33 34 <h3>view {file|escape} @ {rev}:{node|short}</h3>
34 35
35 36 <form class="search" action="{url}log">
36 37 {sessionvars%hiddenformentry}
37 38 <p><input name="rev" id="search1" type="text" size="30" /></p>
38 39 <div id="hint">find changesets by author, revision,
39 40 files, or words in the commit message</div>
40 41 </form>
41 42
42 43 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
43 44
44 45 <table id="changesetEntry">
45 46 <tr>
46 47 <th class="author">author</th>
47 48 <td class="author">{author|obfuscate}</td>
48 49 </tr>
49 50 <tr>
50 51 <th class="date">date</th>
51 52 <td class="date">{date|date} ({date|age} ago)</td>
52 53 </tr>
53 54 <tr>
54 55 <th class="author">parents</th>
55 56 <td class="author">{parent%filerevparent}</td>
56 57 </tr>
57 58 <tr>
58 59 <th class="author">children</th>
59 60 <td class="author">{child%filerevchild}</td>
60 61 </tr>
61 62 {changesettag}
62 63 </table>
63 64
64 65 <div class="overflow">
65 66 <div class="sourcefirst"> line source</div>
66 67 {text%fileline}
67 68 <div class="sourcelast"></div>
68 69 </div>
69 70 </div>
70 71 </div>
71 72
72 73 {footer}
@@ -1,990 +1,991
1 1 % Set up the repo
2 2 adding da/foo
3 3 adding foo
4 4 marked working directory as branch stable
5 5 % Logs and changes
6 6 200 Script output follows
7 7
8 8 <?xml version="1.0" encoding="ascii"?>
9 9 <feed xmlns="http://127.0.0.1/2005/Atom">
10 10 <!-- Changelog -->
11 11 <id>http://127.0.0.1/</id>
12 12 <link rel="self" href="http://127.0.0.1/atom-log"/>
13 13 <link rel="alternate" href="http://127.0.0.1/"/>
14 14 <title>test Changelog</title>
15 15 <updated>1970-01-01T00:00:00+00:00</updated>
16 16
17 17 <entry>
18 18 <title>branch</title>
19 19 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
20 20 <link href="http://127.0.0.1/rev/1d22e65f027e"/>
21 21 <author>
22 22 <name>test</name>
23 23 <email>&#116;&#101;&#115;&#116;</email>
24 24 </author>
25 25 <updated>1970-01-01T00:00:00+00:00</updated>
26 26 <published>1970-01-01T00:00:00+00:00</published>
27 27 <content type="xhtml">
28 28 <div xmlns="http://127.0.0.1/1999/xhtml">
29 29 <pre xml:space="preserve">branch</pre>
30 30 </div>
31 31 </content>
32 32 </entry>
33 33 <entry>
34 34 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
35 35 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
36 36 <link href="http://127.0.0.1/rev/a4f92ed23982"/>
37 37 <author>
38 38 <name>test</name>
39 39 <email>&#116;&#101;&#115;&#116;</email>
40 40 </author>
41 41 <updated>1970-01-01T00:00:00+00:00</updated>
42 42 <published>1970-01-01T00:00:00+00:00</published>
43 43 <content type="xhtml">
44 44 <div xmlns="http://127.0.0.1/1999/xhtml">
45 45 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
46 46 </div>
47 47 </content>
48 48 </entry>
49 49 <entry>
50 50 <title>base</title>
51 51 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
52 52 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
53 53 <author>
54 54 <name>test</name>
55 55 <email>&#116;&#101;&#115;&#116;</email>
56 56 </author>
57 57 <updated>1970-01-01T00:00:00+00:00</updated>
58 58 <published>1970-01-01T00:00:00+00:00</published>
59 59 <content type="xhtml">
60 60 <div xmlns="http://127.0.0.1/1999/xhtml">
61 61 <pre xml:space="preserve">base</pre>
62 62 </div>
63 63 </content>
64 64 </entry>
65 65
66 66 </feed>
67 67 200 Script output follows
68 68
69 69 <?xml version="1.0" encoding="ascii"?>
70 70 <feed xmlns="http://127.0.0.1/2005/Atom">
71 71 <!-- Changelog -->
72 72 <id>http://127.0.0.1/</id>
73 73 <link rel="self" href="http://127.0.0.1/atom-log"/>
74 74 <link rel="alternate" href="http://127.0.0.1/"/>
75 75 <title>test Changelog</title>
76 76 <updated>1970-01-01T00:00:00+00:00</updated>
77 77
78 78 <entry>
79 79 <title>branch</title>
80 80 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
81 81 <link href="http://127.0.0.1/rev/1d22e65f027e"/>
82 82 <author>
83 83 <name>test</name>
84 84 <email>&#116;&#101;&#115;&#116;</email>
85 85 </author>
86 86 <updated>1970-01-01T00:00:00+00:00</updated>
87 87 <published>1970-01-01T00:00:00+00:00</published>
88 88 <content type="xhtml">
89 89 <div xmlns="http://127.0.0.1/1999/xhtml">
90 90 <pre xml:space="preserve">branch</pre>
91 91 </div>
92 92 </content>
93 93 </entry>
94 94 <entry>
95 95 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
96 96 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
97 97 <link href="http://127.0.0.1/rev/a4f92ed23982"/>
98 98 <author>
99 99 <name>test</name>
100 100 <email>&#116;&#101;&#115;&#116;</email>
101 101 </author>
102 102 <updated>1970-01-01T00:00:00+00:00</updated>
103 103 <published>1970-01-01T00:00:00+00:00</published>
104 104 <content type="xhtml">
105 105 <div xmlns="http://127.0.0.1/1999/xhtml">
106 106 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
107 107 </div>
108 108 </content>
109 109 </entry>
110 110 <entry>
111 111 <title>base</title>
112 112 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
113 113 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
114 114 <author>
115 115 <name>test</name>
116 116 <email>&#116;&#101;&#115;&#116;</email>
117 117 </author>
118 118 <updated>1970-01-01T00:00:00+00:00</updated>
119 119 <published>1970-01-01T00:00:00+00:00</published>
120 120 <content type="xhtml">
121 121 <div xmlns="http://127.0.0.1/1999/xhtml">
122 122 <pre xml:space="preserve">base</pre>
123 123 </div>
124 124 </content>
125 125 </entry>
126 126
127 127 </feed>
128 128 200 Script output follows
129 129
130 130 <?xml version="1.0" encoding="ascii"?>
131 131 <feed xmlns="http://127.0.0.1/2005/Atom">
132 132 <id>http://127.0.0.1/atom-log/tip/foo</id>
133 133 <link rel="self" href="http://127.0.0.1/atom-log/tip/foo"/>
134 134 <title>test: foo history</title>
135 135 <updated>1970-01-01T00:00:00+00:00</updated>
136 136
137 137 <entry>
138 138 <title>base</title>
139 139 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
140 140 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
141 141 <author>
142 142 <name>test</name>
143 143 <email>&#116;&#101;&#115;&#116;</email>
144 144 </author>
145 145 <updated>1970-01-01T00:00:00+00:00</updated>
146 146 <published>1970-01-01T00:00:00+00:00</published>
147 147 <content type="xhtml">
148 148 <div xmlns="http://127.0.0.1/1999/xhtml">
149 149 <pre xml:space="preserve">base</pre>
150 150 </div>
151 151 </content>
152 152 </entry>
153 153
154 154 </feed>
155 155 200 Script output follows
156 156
157 157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
158 158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
159 159 <head>
160 160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
161 161 <meta name="robots" content="index, nofollow" />
162 162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
163 163
164 164 <title>test: log</title>
165 165 <link rel="alternate" type="application/atom+xml"
166 166 href="/atom-log" title="Atom feed for test" />
167 167 <link rel="alternate" type="application/rss+xml"
168 168 href="/rss-log" title="RSS feed for test" />
169 169 </head>
170 170 <body>
171 171
172 172 <div class="container">
173 173 <div class="menu">
174 174 <div class="logo">
175 175 <a href="http://mercurial.selenic.com/">
176 176 <img src="/static/hglogo.png" alt="mercurial" /></a>
177 177 </div>
178 178 <ul>
179 179 <li class="active">log</li>
180 180 <li><a href="/graph/1d22e65f027e">graph</a></li>
181 181 <li><a href="/tags">tags</a></li>
182 182 <li><a href="/branches">branches</a></li>
183 183 </ul>
184 184 <ul>
185 185 <li><a href="/rev/1d22e65f027e">changeset</a></li>
186 186 <li><a href="/file/1d22e65f027e">browse</a></li>
187 187 </ul>
188 188 <ul>
189 189
190 190 </ul>
191 191 </div>
192 192
193 193 <div class="main">
194 194 <h2><a href="/">test</a></h2>
195 195 <h3>log</h3>
196 196
197 197 <form class="search" action="/log">
198 198
199 199 <p><input name="rev" id="search1" type="text" size="30" /></p>
200 200 <div id="hint">find changesets by author, revision,
201 201 files, or words in the commit message</div>
202 202 </form>
203 203
204 204 <div class="navigate">rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a> </div>
205 205
206 206 <table class="bigtable">
207 207 <tr>
208 208 <th class="age">age</th>
209 209 <th class="author">author</th>
210 210 <th class="description">description</th>
211 211 </tr>
212 212 <tr class="parity0">
213 213 <td class="age">many years</td>
214 214 <td class="author">test</td>
215 215 <td class="description"><a href="/rev/1d22e65f027e">branch</a><span class="branchhead">stable</span> <span class="tag">tip</span> </td>
216 216 </tr>
217 217 <tr class="parity1">
218 218 <td class="age">many years</td>
219 219 <td class="author">test</td>
220 220 <td class="description"><a href="/rev/a4f92ed23982">Added tag 1.0 for changeset 2ef0ac749a14</a><span class="branchhead">default</span> </td>
221 221 </tr>
222 222 <tr class="parity0">
223 223 <td class="age">many years</td>
224 224 <td class="author">test</td>
225 225 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
226 226 </tr>
227 227
228 228 </table>
229 229
230 230 <div class="navigate">rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a> </div>
231 231 </div>
232 232 </div>
233 233
234 234
235 235
236 236 </body>
237 237 </html>
238 238
239 239 200 Script output follows
240 240
241 241 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
242 242 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
243 243 <head>
244 244 <link rel="icon" href="/static/hgicon.png" type="image/png" />
245 245 <meta name="robots" content="index, nofollow" />
246 246 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
247 247
248 248 <title>test: 2ef0ac749a14</title>
249 249 </head>
250 250 <body>
251 251 <div class="container">
252 252 <div class="menu">
253 253 <div class="logo">
254 254 <a href="http://mercurial.selenic.com/">
255 255 <img src="/static/hglogo.png" alt="mercurial" /></a>
256 256 </div>
257 257 <ul>
258 258 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
259 259 <li><a href="/graph/2ef0ac749a14">graph</a></li>
260 260 <li><a href="/tags">tags</a></li>
261 261 <li><a href="/branches">branches</a></li>
262 262 </ul>
263 263 <ul>
264 264 <li class="active">changeset</li>
265 265 <li><a href="/raw-rev/2ef0ac749a14">raw</a></li>
266 266 <li><a href="/file/2ef0ac749a14">browse</a></li>
267 267 </ul>
268 268 <ul>
269 269
270 270 </ul>
271 271 </div>
272 272
273 273 <div class="main">
274 274
275 275 <h2><a href="/">test</a></h2>
276 276 <h3>changeset 0:2ef0ac749a14 <span class="tag">1.0</span> </h3>
277 277
278 278 <form class="search" action="/log">
279 279
280 280 <p><input name="rev" id="search1" type="text" size="30" /></p>
281 281 <div id="hint">find changesets by author, revision,
282 282 files, or words in the commit message</div>
283 283 </form>
284 284
285 285 <div class="description">base</div>
286 286
287 287 <table id="changesetEntry">
288 288 <tr>
289 289 <th class="author">author</th>
290 290 <td class="author">&#116;&#101;&#115;&#116;</td>
291 291 </tr>
292 292 <tr>
293 293 <th class="date">date</th>
294 294 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
295 295 <tr>
296 296 <th class="author">parents</th>
297 297 <td class="author"></td>
298 298 </tr>
299 299 <tr>
300 300 <th class="author">children</th>
301 301 <td class="author"> <a href="/rev/a4f92ed23982">a4f92ed23982</a></td>
302 302 </tr>
303 303 <tr>
304 304 <th class="files">files</th>
305 305 <td class="files"><a href="/file/2ef0ac749a14/da/foo">da/foo</a> <a href="/file/2ef0ac749a14/foo">foo</a> </td>
306 306 </tr>
307 307 </table>
308 308
309 309 <div class="overflow">
310 310 <div class="sourcefirst"> line diff</div>
311 311
312 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 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 314 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
315 315 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+foo
316 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 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 318 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
319 319 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+foo
320 320 </span></pre></div>
321 321 </div>
322 322
323 323 </div>
324 324 </div>
325 325
326 326
327 327 </body>
328 328 </html>
329 329
330 330 200 Script output follows
331 331
332 332
333 333 # HG changeset patch
334 334 # User test
335 335 # Date 0 0
336 336 # Node ID a4f92ed23982be056b9852de5dfe873eaac7f0de
337 337 # Parent 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
338 338 Added tag 1.0 for changeset 2ef0ac749a14
339 339
340 340 diff -r 2ef0ac749a14 -r a4f92ed23982 .hgtags
341 341 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
342 342 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
343 343 @@ -0,0 +1,1 @@
344 344 +2ef0ac749a14e4f57a5a822464a0902c6f7f448f 1.0
345 345
346 346 % File-related
347 347 200 Script output follows
348 348
349 349 foo
350 350 200 Script output follows
351 351
352 352
353 353 test@0: foo
354 354
355 355
356 356
357 357
358 358 200 Script output follows
359 359
360 360
361 361 drwxr-xr-x da
362 362 -rw-r--r-- 45 .hgtags
363 363 -rw-r--r-- 4 foo
364 364
365 365
366 366 200 Script output follows
367 367
368 368 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
369 369 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
370 370 <head>
371 371 <link rel="icon" href="/static/hgicon.png" type="image/png" />
372 372 <meta name="robots" content="index, nofollow" />
373 373 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
374 374
375 375 <title>test: a4f92ed23982 foo</title>
376 376 </head>
377 377 <body>
378 378
379 379 <div class="container">
380 380 <div class="menu">
381 381 <div class="logo">
382 382 <a href="http://mercurial.selenic.com/">
383 383 <img src="/static/hglogo.png" alt="mercurial" /></a>
384 384 </div>
385 385 <ul>
386 386 <li><a href="/shortlog/a4f92ed23982">log</a></li>
387 387 <li><a href="/graph/a4f92ed23982">graph</a></li>
388 388 <li><a href="/tags">tags</a></li>
389 389 <li><a href="/branches">branches</a></li>
390 390 </ul>
391 391 <ul>
392 392 <li><a href="/rev/a4f92ed23982">changeset</a></li>
393 393 <li><a href="/file/a4f92ed23982/">browse</a></li>
394 394 </ul>
395 395 <ul>
396 396 <li class="active">file</li>
397 <li><a href="/file/tip/foo">latest</a></li>
397 398 <li><a href="/diff/a4f92ed23982/foo">diff</a></li>
398 399 <li><a href="/annotate/a4f92ed23982/foo">annotate</a></li>
399 400 <li><a href="/log/a4f92ed23982/foo">file log</a></li>
400 401 <li><a href="/raw-file/a4f92ed23982/foo">raw</a></li>
401 402 </ul>
402 403 </div>
403 404
404 405 <div class="main">
405 406 <h2><a href="/">test</a></h2>
406 407 <h3>view foo @ 1:a4f92ed23982</h3>
407 408
408 409 <form class="search" action="/log">
409 410
410 411 <p><input name="rev" id="search1" type="text" size="30" /></p>
411 412 <div id="hint">find changesets by author, revision,
412 413 files, or words in the commit message</div>
413 414 </form>
414 415
415 416 <div class="description">Added tag 1.0 for changeset 2ef0ac749a14</div>
416 417
417 418 <table id="changesetEntry">
418 419 <tr>
419 420 <th class="author">author</th>
420 421 <td class="author">&#116;&#101;&#115;&#116;</td>
421 422 </tr>
422 423 <tr>
423 424 <th class="date">date</th>
424 425 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
425 426 </tr>
426 427 <tr>
427 428 <th class="author">parents</th>
428 429 <td class="author"></td>
429 430 </tr>
430 431 <tr>
431 432 <th class="author">children</th>
432 433 <td class="author"><a href="/file/1d22e65f027e/foo">1d22e65f027e</a> </td>
433 434 </tr>
434 435
435 436 </table>
436 437
437 438 <div class="overflow">
438 439 <div class="sourcefirst"> line source</div>
439 440
440 441 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> foo
441 442 </div>
442 443 <div class="sourcelast"></div>
443 444 </div>
444 445 </div>
445 446 </div>
446 447
447 448
448 449
449 450 </body>
450 451 </html>
451 452
452 453 200 Script output follows
453 454
454 455
455 456 diff -r 000000000000 -r a4f92ed23982 foo
456 457 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
457 458 +++ b/foo Thu Jan 01 00:00:00 1970 +0000
458 459 @@ -0,0 +1,1 @@
459 460 +foo
460 461
461 462
462 463
463 464
464 465 % Overviews
465 466 200 Script output follows
466 467
467 468 <?xml version="1.0" encoding="ascii"?>
468 469 <feed xmlns="http://127.0.0.1/2005/Atom">
469 470 <id>http://127.0.0.1/</id>
470 471 <link rel="self" href="http://127.0.0.1/atom-tags"/>
471 472 <link rel="alternate" href="http://127.0.0.1/tags"/>
472 473 <title>test: tags</title>
473 474 <summary>test tag history</summary>
474 475 <author><name>Mercurial SCM</name></author>
475 476 <updated>1970-01-01T00:00:00+00:00</updated>
476 477
477 478 <entry>
478 479 <title>1.0</title>
479 480 <link rel="alternate" href="http://127.0.0.1/rev/2ef0ac749a14"/>
480 481 <id>http://127.0.0.1/#tag-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
481 482 <updated>1970-01-01T00:00:00+00:00</updated>
482 483 <published>1970-01-01T00:00:00+00:00</published>
483 484 <content type="text">1.0</content>
484 485 </entry>
485 486
486 487 </feed>
487 488 200 Script output follows
488 489
489 490 <?xml version="1.0" encoding="ascii"?>
490 491 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://127.0.0.1/TR/xhtml1/DTD/xhtml1-strict.dtd">
491 492 <html xmlns="http://127.0.0.1/1999/xhtml" xml:lang="en-US" lang="en-US">
492 493 <head>
493 494 <link rel="icon" href="/static/hgicon.png" type="image/png" />
494 495 <meta name="robots" content="index, nofollow"/>
495 496 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
496 497
497 498
498 499 <title>test: Branches</title>
499 500 <link rel="alternate" type="application/atom+xml"
500 501 href="/atom-tags" title="Atom feed for test"/>
501 502 <link rel="alternate" type="application/rss+xml"
502 503 href="/rss-tags" title="RSS feed for test"/>
503 504 </head>
504 505 <body>
505 506
506 507 <div class="page_header">
507 508 <a href="http://127.0.0.1/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / branches
508 509 </div>
509 510
510 511 <div class="page_nav">
511 512 <a href="/summary?style=gitweb">summary</a> |
512 513 <a href="/shortlog?style=gitweb">shortlog</a> |
513 514 <a href="/log?style=gitweb">changelog</a> |
514 515 <a href="/graph?style=gitweb">graph</a> |
515 516 <a href="/tags?style=gitweb">tags</a> |
516 517 branches |
517 518 <a href="/file/1d22e65f027e?style=gitweb">files</a>
518 519 <br/>
519 520 </div>
520 521
521 522 <div class="title">&nbsp;</div>
522 523 <table cellspacing="0">
523 524
524 525 <tr class="parity0">
525 526 <td class="age"><i>many years ago</i></td>
526 527 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
527 528 <td class="open">stable</td>
528 529 <td class="link">
529 530 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
530 531 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
531 532 <a href="/file/1d22e65f027e?style=gitweb">files</a>
532 533 </td>
533 534 </tr>
534 535 <tr class="parity1">
535 536 <td class="age"><i>many years ago</i></td>
536 537 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
537 538 <td class="inactive">default</td>
538 539 <td class="link">
539 540 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
540 541 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
541 542 <a href="/file/a4f92ed23982?style=gitweb">files</a>
542 543 </td>
543 544 </tr>
544 545 </table>
545 546
546 547 <div class="page_footer">
547 548 <div class="page_footer_text">test</div>
548 549 <div class="rss_logo">
549 550 <a href="/rss-log">RSS</a>
550 551 <a href="/atom-log">Atom</a>
551 552 </div>
552 553 <br />
553 554
554 555 </div>
555 556 </body>
556 557 </html>
557 558
558 559 200 Script output follows
559 560
560 561 <?xml version="1.0" encoding="ascii"?>
561 562 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
562 563 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
563 564 <head>
564 565 <link rel="icon" href="/static/hgicon.png" type="image/png" />
565 566 <meta name="robots" content="index, nofollow"/>
566 567 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
567 568
568 569
569 570 <title>test: Summary</title>
570 571 <link rel="alternate" type="application/atom+xml"
571 572 href="/atom-log" title="Atom feed for test"/>
572 573 <link rel="alternate" type="application/rss+xml"
573 574 href="/rss-log" title="RSS feed for test"/>
574 575 </head>
575 576 <body>
576 577
577 578 <div class="page_header">
578 579 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / summary
579 580
580 581 <form action="/log">
581 582 <input type="hidden" name="style" value="gitweb" />
582 583 <div class="search">
583 584 <input type="text" name="rev" />
584 585 </div>
585 586 </form>
586 587 </div>
587 588
588 589 <div class="page_nav">
589 590 summary |
590 591 <a href="/shortlog?style=gitweb">shortlog</a> |
591 592 <a href="/log?style=gitweb">changelog</a> |
592 593 <a href="/graph?style=gitweb">graph</a> |
593 594 <a href="/tags?style=gitweb">tags</a> |
594 595 <a href="/branches?style=gitweb">branches</a> |
595 596 <a href="/file/1d22e65f027e?style=gitweb">files</a>
596 597 <br/>
597 598 </div>
598 599
599 600 <div class="title">&nbsp;</div>
600 601 <table cellspacing="0">
601 602 <tr><td>description</td><td>unknown</td></tr>
602 603 <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>
603 604 <tr><td>last change</td><td>Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
604 605 </table>
605 606
606 607 <div><a class="title" href="/shortlog?style=gitweb">changes</a></div>
607 608 <table cellspacing="0">
608 609
609 610 <tr class="parity0">
610 611 <td class="age"><i>many years ago</i></td>
611 612 <td><i>test</i></td>
612 613 <td>
613 614 <a class="list" href="/rev/1d22e65f027e?style=gitweb">
614 615 <b>branch</b>
615 616 <span class="logtags"><span class="branchtag" title="stable">stable</span> <span class="tagtag" title="tip">tip</span> </span>
616 617 </a>
617 618 </td>
618 619 <td class="link" nowrap>
619 620 <a href="/rev/1d22e65f027e?style=gitweb">changeset</a> |
620 621 <a href="/file/1d22e65f027e?style=gitweb">files</a>
621 622 </td>
622 623 </tr>
623 624 <tr class="parity1">
624 625 <td class="age"><i>many years ago</i></td>
625 626 <td><i>test</i></td>
626 627 <td>
627 628 <a class="list" href="/rev/a4f92ed23982?style=gitweb">
628 629 <b>Added tag 1.0 for changeset 2ef0ac749a14</b>
629 630 <span class="logtags"><span class="branchtag" title="default">default</span> </span>
630 631 </a>
631 632 </td>
632 633 <td class="link" nowrap>
633 634 <a href="/rev/a4f92ed23982?style=gitweb">changeset</a> |
634 635 <a href="/file/a4f92ed23982?style=gitweb">files</a>
635 636 </td>
636 637 </tr>
637 638 <tr class="parity0">
638 639 <td class="age"><i>many years ago</i></td>
639 640 <td><i>test</i></td>
640 641 <td>
641 642 <a class="list" href="/rev/2ef0ac749a14?style=gitweb">
642 643 <b>base</b>
643 644 <span class="logtags"><span class="tagtag" title="1.0">1.0</span> </span>
644 645 </a>
645 646 </td>
646 647 <td class="link" nowrap>
647 648 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
648 649 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
649 650 </td>
650 651 </tr>
651 652 <tr class="light"><td colspan="4"><a class="list" href="/shortlog?style=gitweb">...</a></td></tr>
652 653 </table>
653 654
654 655 <div><a class="title" href="/tags?style=gitweb">tags</a></div>
655 656 <table cellspacing="0">
656 657
657 658 <tr class="parity0">
658 659 <td class="age"><i>many years ago</i></td>
659 660 <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>1.0</b></a></td>
660 661 <td class="link">
661 662 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
662 663 <a href="/log/2ef0ac749a14?style=gitweb">changelog</a> |
663 664 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
664 665 </td>
665 666 </tr>
666 667 <tr class="light"><td colspan="3"><a class="list" href="/tags?style=gitweb">...</a></td></tr>
667 668 </table>
668 669
669 670 <div><a class="title" href="#">branches</a></div>
670 671 <table cellspacing="0">
671 672
672 673 <tr class="parity0">
673 674 <td class="age"><i>many years ago</i></td>
674 675 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
675 676 <td class="">stable</td>
676 677 <td class="link">
677 678 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
678 679 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
679 680 <a href="/file/1d22e65f027e?style=gitweb">files</a>
680 681 </td>
681 682 </tr>
682 683 <tr class="parity1">
683 684 <td class="age"><i>many years ago</i></td>
684 685 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
685 686 <td class="">default</td>
686 687 <td class="link">
687 688 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
688 689 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
689 690 <a href="/file/a4f92ed23982?style=gitweb">files</a>
690 691 </td>
691 692 </tr>
692 693 <tr class="light">
693 694 <td colspan="4"><a class="list" href="#">...</a></td>
694 695 </tr>
695 696 </table>
696 697 <div class="page_footer">
697 698 <div class="page_footer_text">test</div>
698 699 <div class="rss_logo">
699 700 <a href="/rss-log">RSS</a>
700 701 <a href="/atom-log">Atom</a>
701 702 </div>
702 703 <br />
703 704
704 705 </div>
705 706 </body>
706 707 </html>
707 708
708 709 200 Script output follows
709 710
710 711 <?xml version="1.0" encoding="ascii"?>
711 712 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
712 713 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
713 714 <head>
714 715 <link rel="icon" href="/static/hgicon.png" type="image/png" />
715 716 <meta name="robots" content="index, nofollow"/>
716 717 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
717 718
718 719
719 720 <title>test: Graph</title>
720 721 <link rel="alternate" type="application/atom+xml"
721 722 href="/atom-log" title="Atom feed for test"/>
722 723 <link rel="alternate" type="application/rss+xml"
723 724 href="/rss-log" title="RSS feed for test"/>
724 725 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
725 726 </head>
726 727 <body>
727 728
728 729 <div class="page_header">
729 730 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / graph
730 731 </div>
731 732
732 733 <form action="/log">
733 734 <input type="hidden" name="style" value="gitweb" />
734 735 <div class="search">
735 736 <input type="text" name="rev" />
736 737 </div>
737 738 </form>
738 739 <div class="page_nav">
739 740 <a href="/summary?style=gitweb">summary</a> |
740 741 <a href="/shortlog?style=gitweb">shortlog</a> |
741 742 <a href="/log/2?style=gitweb">changelog</a> |
742 743 graph |
743 744 <a href="/tags?style=gitweb">tags</a> |
744 745 <a href="/branches?style=gitweb">branches</a> |
745 746 <a href="/file/1d22e65f027e?style=gitweb">files</a>
746 747 <br/>
747 748 <a href="/graph/2?style=gitweb&revcount=12">less</a>
748 749 <a href="/graph/2?style=gitweb&revcount=50">more</a>
749 750 | <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/>
750 751 </div>
751 752
752 753 <div class="title">&nbsp;</div>
753 754
754 755 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
755 756
756 757 <div id="wrapper">
757 758 <ul id="nodebgs"></ul>
758 759 <canvas id="graph" width="224" height="129"></canvas>
759 760 <ul id="graphnodes"></ul>
760 761 </div>
761 762
762 763 <script type="text/javascript" src="/static/graph.js"></script>
763 764 <script>
764 765 <!-- hide script content
765 766
766 767 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"]]];
767 768 var graph = new Graph();
768 769 graph.scale(39);
769 770
770 771 graph.edge = function(x0, y0, x1, y1, color) {
771 772
772 773 this.setColor(color, 0.0, 0.65);
773 774 this.ctx.beginPath();
774 775 this.ctx.moveTo(x0, y0);
775 776 this.ctx.lineTo(x1, y1);
776 777 this.ctx.stroke();
777 778
778 779 }
779 780
780 781 var revlink = '<li style="_STYLE"><span class="desc">';
781 782 revlink += '<a class="list" href="/rev/_NODEID?style=gitweb" title="_NODEID"><b>_DESC</b></a>';
782 783 revlink += '</span> _TAGS';
783 784 revlink += '<span class="info">_DATE ago, by _USER</span></li>';
784 785
785 786 graph.vertex = function(x, y, color, parity, cur) {
786 787
787 788 this.ctx.beginPath();
788 789 color = this.setColor(color, 0.25, 0.75);
789 790 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
790 791 this.ctx.fill();
791 792
792 793 var bg = '<li class="bg parity' + parity + '"></li>';
793 794 var left = (this.columns + 1) * this.bg_height;
794 795 var nstyle = 'padding-left: ' + left + 'px;';
795 796 var item = revlink.replace(/_STYLE/, nstyle);
796 797 item = item.replace(/_PARITY/, 'parity' + parity);
797 798 item = item.replace(/_NODEID/, cur[0]);
798 799 item = item.replace(/_NODEID/, cur[0]);
799 800 item = item.replace(/_DESC/, cur[3]);
800 801 item = item.replace(/_USER/, cur[4]);
801 802 item = item.replace(/_DATE/, cur[5]);
802 803
803 804 var tagspan = '';
804 805 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
805 806 tagspan = '<span class="logtags">';
806 807 if (cur[6][1]) {
807 808 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
808 809 tagspan += cur[6][0] + '</span> ';
809 810 } else if (!cur[6][1] && cur[6][0] != 'default') {
810 811 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
811 812 tagspan += cur[6][0] + '</span> ';
812 813 }
813 814 if (cur[7].length) {
814 815 for (var t in cur[7]) {
815 816 var tag = cur[7][t];
816 817 tagspan += '<span class="tagtag">' + tag + '</span> ';
817 818 }
818 819 }
819 820 tagspan += '</span>';
820 821 }
821 822
822 823 item = item.replace(/_TAGS/, tagspan);
823 824 return [bg, item];
824 825
825 826 }
826 827
827 828 graph.render(data);
828 829
829 830 // stop hiding script -->
830 831 </script>
831 832
832 833 <div class="page_nav">
833 834 <a href="/graph/2?style=gitweb&revcount=12">less</a>
834 835 <a href="/graph/2?style=gitweb&revcount=50">more</a>
835 836 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a>
836 837 </div>
837 838
838 839 <div class="page_footer">
839 840 <div class="page_footer_text">test</div>
840 841 <div class="rss_logo">
841 842 <a href="/rss-log">RSS</a>
842 843 <a href="/atom-log">Atom</a>
843 844 </div>
844 845 <br />
845 846
846 847 </div>
847 848 </body>
848 849 </html>
849 850
850 851 % capabilities
851 852 200 Script output follows
852 853
853 854 lookup changegroupsubset branchmap unbundle=HG10GZ,HG10BZ,HG10UN% heads
854 855 200 Script output follows
855 856
856 857 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
857 858 % lookup
858 859 200 Script output follows
859 860
860 861 0 'key'
861 862 % branches
862 863 200 Script output follows
863 864
864 865 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe 2ef0ac749a14e4f57a5a822464a0902c6f7f448f 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
865 866 % changegroup
866 867 200 Script output follows
867 868
868 869 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
869 870 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~\
870 871 \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
871 872 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
872 873 \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
873 874 % stream_out
874 875 200 Script output follows
875 876
876 877 1
877 878 % failing unbundle, requires POST request
878 879 405 push requires POST request
879 880
880 881 0
881 882 push requires POST request
882 883 % Static files
883 884 200 Script output follows
884 885
885 886 a { text-decoration:none; }
886 887 .age { white-space:nowrap; }
887 888 .date { white-space:nowrap; }
888 889 .indexlinks { white-space:nowrap; }
889 890 .parity0 { background-color: #ddd; }
890 891 .parity1 { background-color: #eee; }
891 892 .lineno { width: 60px; color: #aaa; font-size: smaller;
892 893 text-align: right; }
893 894 .plusline { color: green; }
894 895 .minusline { color: red; }
895 896 .atline { color: purple; }
896 897 .annotate { font-size: smaller; text-align: right; padding-right: 1em; }
897 898 .buttons a {
898 899 background-color: #666;
899 900 padding: 2pt;
900 901 color: white;
901 902 font-family: sans;
902 903 font-weight: bold;
903 904 }
904 905 .navigate a {
905 906 background-color: #ccc;
906 907 padding: 2pt;
907 908 font-family: sans;
908 909 color: black;
909 910 }
910 911
911 912 .metatag {
912 913 background-color: #888;
913 914 color: white;
914 915 text-align: right;
915 916 }
916 917
917 918 /* Common */
918 919 pre { margin: 0; }
919 920
920 921 .logo {
921 922 float: right;
922 923 clear: right;
923 924 }
924 925
925 926 /* Changelog/Filelog entries */
926 927 .logEntry { width: 100%; }
927 928 .logEntry .age { width: 15%; }
928 929 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
929 930 .logEntry th.age, .logEntry th.firstline { font-weight: bold; }
930 931 .logEntry th.firstline { text-align: left; width: inherit; }
931 932
932 933 /* Shortlog entries */
933 934 .slogEntry { width: 100%; }
934 935 .slogEntry .age { width: 8em; }
935 936 .slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
936 937 .slogEntry td.author { width: 15em; }
937 938
938 939 /* Tag entries */
939 940 #tagEntries { list-style: none; margin: 0; padding: 0; }
940 941 #tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
941 942
942 943 /* Changeset entry */
943 944 #changesetEntry { }
944 945 #changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
945 946 #changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
946 947
947 948 /* File diff view */
948 949 #filediffEntry { }
949 950 #filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
950 951
951 952 /* Graph */
952 953 div#wrapper {
953 954 position: relative;
954 955 margin: 0;
955 956 padding: 0;
956 957 }
957 958
958 959 canvas {
959 960 position: absolute;
960 961 z-index: 5;
961 962 top: -0.6em;
962 963 margin: 0;
963 964 }
964 965
965 966 ul#nodebgs {
966 967 list-style: none inside none;
967 968 padding: 0;
968 969 margin: 0;
969 970 top: -0.7em;
970 971 }
971 972
972 973 ul#graphnodes li, ul#nodebgs li {
973 974 height: 39px;
974 975 }
975 976
976 977 ul#graphnodes {
977 978 position: absolute;
978 979 z-index: 10;
979 980 top: -0.85em;
980 981 list-style: none inside none;
981 982 padding: 0;
982 983 }
983 984
984 985 ul#graphnodes li .info {
985 986 display: block;
986 987 font-size: 70%;
987 988 position: relative;
988 989 top: -1px;
989 990 }
990 991 % ERRORS ENCOUNTERED
@@ -1,418 +1,420
1 1 % setting up repo
2 2 adding a
3 3 adding b
4 4 % change permissions for git diffs
5 5 % set up hgweb
6 6 % revision
7 7 200 Script output follows
8 8
9 9 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10 10 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
11 11 <head>
12 12 <link rel="icon" href="/static/hgicon.png" type="image/png" />
13 13 <meta name="robots" content="index, nofollow" />
14 14 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
15 15
16 16 <title>test: 0cd96de13884</title>
17 17 </head>
18 18 <body>
19 19 <div class="container">
20 20 <div class="menu">
21 21 <div class="logo">
22 22 <a href="http://mercurial.selenic.com/">
23 23 <img src="/static/hglogo.png" alt="mercurial" /></a>
24 24 </div>
25 25 <ul>
26 26 <li><a href="/shortlog/0cd96de13884">log</a></li>
27 27 <li><a href="/graph/0cd96de13884">graph</a></li>
28 28 <li><a href="/tags">tags</a></li>
29 29 <li><a href="/branches">branches</a></li>
30 30 </ul>
31 31 <ul>
32 32 <li class="active">changeset</li>
33 33 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
34 34 <li><a href="/file/0cd96de13884">browse</a></li>
35 35 </ul>
36 36 <ul>
37 37
38 38 </ul>
39 39 </div>
40 40
41 41 <div class="main">
42 42
43 43 <h2><a href="/">test</a></h2>
44 44 <h3>changeset 0:0cd96de13884 </h3>
45 45
46 46 <form class="search" action="/log">
47 47
48 48 <p><input name="rev" id="search1" type="text" size="30" /></p>
49 49 <div id="hint">find changesets by author, revision,
50 50 files, or words in the commit message</div>
51 51 </form>
52 52
53 53 <div class="description">a</div>
54 54
55 55 <table id="changesetEntry">
56 56 <tr>
57 57 <th class="author">author</th>
58 58 <td class="author">&#116;&#101;&#115;&#116;</td>
59 59 </tr>
60 60 <tr>
61 61 <th class="date">date</th>
62 62 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
63 63 <tr>
64 64 <th class="author">parents</th>
65 65 <td class="author"></td>
66 66 </tr>
67 67 <tr>
68 68 <th class="author">children</th>
69 69 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
70 70 </tr>
71 71 <tr>
72 72 <th class="files">files</th>
73 73 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
74 74 </tr>
75 75 </table>
76 76
77 77 <div class="overflow">
78 78 <div class="sourcefirst"> line diff</div>
79 79
80 80 <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
81 81 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
82 82 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
83 83 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
84 84 </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
85 85 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000
86 86 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
87 87 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+b
88 88 </span></pre></div>
89 89 </div>
90 90
91 91 </div>
92 92 </div>
93 93
94 94
95 95 </body>
96 96 </html>
97 97
98 98 % raw revision
99 99 200 Script output follows
100 100
101 101
102 102 # HG changeset patch
103 103 # User test
104 104 # Date 0 0
105 105 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
106 106
107 107 a
108 108
109 109 diff -r 000000000000 -r 0cd96de13884 a
110 110 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
111 111 +++ b/a Thu Jan 01 00:00:00 1970 +0000
112 112 @@ -0,0 +1,1 @@
113 113 +a
114 114 diff -r 000000000000 -r 0cd96de13884 b
115 115 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
116 116 +++ b/b Thu Jan 01 00:00:00 1970 +0000
117 117 @@ -0,0 +1,1 @@
118 118 +b
119 119
120 120 % diff removed file
121 121 200 Script output follows
122 122
123 123 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
124 124 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
125 125 <head>
126 126 <link rel="icon" href="/static/hgicon.png" type="image/png" />
127 127 <meta name="robots" content="index, nofollow" />
128 128 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
129 129
130 130 <title>test: a diff</title>
131 131 </head>
132 132 <body>
133 133
134 134 <div class="container">
135 135 <div class="menu">
136 136 <div class="logo">
137 137 <a href="http://mercurial.selenic.com/">
138 138 <img src="/static/hglogo.png" alt="mercurial" /></a>
139 139 </div>
140 140 <ul>
141 141 <li><a href="/shortlog/78e4ebad7cdf">log</a></li>
142 142 <li><a href="/graph/78e4ebad7cdf">graph</a></li>
143 143 <li><a href="/tags">tags</a></li>
144 144 <li><a href="/branches">branches</a></li>
145 145 </ul>
146 146 <ul>
147 147 <li><a href="/rev/78e4ebad7cdf">changeset</a></li>
148 148 <li><a href="/file/78e4ebad7cdf">browse</a></li>
149 149 </ul>
150 150 <ul>
151 151 <li><a href="/file/78e4ebad7cdf/a">file</a></li>
152 <li><a href="/file/tip/a">latest</a></li>
152 153 <li class="active">diff</li>
153 154 <li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
154 155 <li><a href="/log/78e4ebad7cdf/a">file log</a></li>
155 156 <li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
156 157 </ul>
157 158 </div>
158 159
159 160 <div class="main">
160 161 <h2><a href="/">test</a></h2>
161 162 <h3>diff a @ 1:78e4ebad7cdf</h3>
162 163
163 164 <form class="search" action="/log">
164 165 <p></p>
165 166 <p><input name="rev" id="search1" type="text" size="30" /></p>
166 167 <div id="hint">find changesets by author, revision,
167 168 files, or words in the commit message</div>
168 169 </form>
169 170
170 171 <div class="description">b</div>
171 172
172 173 <table id="changesetEntry">
173 174 <tr>
174 175 <th>author</th>
175 176 <td>&#116;&#101;&#115;&#116;</td>
176 177 </tr>
177 178 <tr>
178 179 <th>date</th>
179 180 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
180 181 </tr>
181 182 <tr>
182 183 <th>parents</th>
183 184 <td></td>
184 185 </tr>
185 186 <tr>
186 187 <th>children</th>
187 188 <td></td>
188 189 </tr>
189 190
190 191 </table>
191 192
192 193 <div class="overflow">
193 194 <div class="sourcefirst"> line diff</div>
194 195
195 196 <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
196 197 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
197 198 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
198 199 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
199 200 </span></pre></div>
200 201 </div>
201 202 </div>
202 203 </div>
203 204
204 205
205 206
206 207 </body>
207 208 </html>
208 209
209 210 % set up hgweb with git diffs
210 211 % revision
211 212 200 Script output follows
212 213
213 214 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
214 215 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
215 216 <head>
216 217 <link rel="icon" href="/static/hgicon.png" type="image/png" />
217 218 <meta name="robots" content="index, nofollow" />
218 219 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
219 220
220 221 <title>test: 0cd96de13884</title>
221 222 </head>
222 223 <body>
223 224 <div class="container">
224 225 <div class="menu">
225 226 <div class="logo">
226 227 <a href="http://mercurial.selenic.com/">
227 228 <img src="/static/hglogo.png" alt="mercurial" /></a>
228 229 </div>
229 230 <ul>
230 231 <li><a href="/shortlog/0cd96de13884">log</a></li>
231 232 <li><a href="/graph/0cd96de13884">graph</a></li>
232 233 <li><a href="/tags">tags</a></li>
233 234 <li><a href="/branches">branches</a></li>
234 235 </ul>
235 236 <ul>
236 237 <li class="active">changeset</li>
237 238 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
238 239 <li><a href="/file/0cd96de13884">browse</a></li>
239 240 </ul>
240 241 <ul>
241 242
242 243 </ul>
243 244 </div>
244 245
245 246 <div class="main">
246 247
247 248 <h2><a href="/">test</a></h2>
248 249 <h3>changeset 0:0cd96de13884 </h3>
249 250
250 251 <form class="search" action="/log">
251 252
252 253 <p><input name="rev" id="search1" type="text" size="30" /></p>
253 254 <div id="hint">find changesets by author, revision,
254 255 files, or words in the commit message</div>
255 256 </form>
256 257
257 258 <div class="description">a</div>
258 259
259 260 <table id="changesetEntry">
260 261 <tr>
261 262 <th class="author">author</th>
262 263 <td class="author">&#116;&#101;&#115;&#116;</td>
263 264 </tr>
264 265 <tr>
265 266 <th class="date">date</th>
266 267 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
267 268 <tr>
268 269 <th class="author">parents</th>
269 270 <td class="author"></td>
270 271 </tr>
271 272 <tr>
272 273 <th class="author">children</th>
273 274 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
274 275 </tr>
275 276 <tr>
276 277 <th class="files">files</th>
277 278 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
278 279 </tr>
279 280 </table>
280 281
281 282 <div class="overflow">
282 283 <div class="sourcefirst"> line diff</div>
283 284
284 285 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100644
285 286 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
286 287 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
287 288 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
288 289 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
289 290 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> new file mode 100644
290 291 <a href="#l2.2" id="l2.2"> 2.2</a> <span class="minusline">--- /dev/null
291 292 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="plusline">+++ b/b
292 293 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="atline">@@ -0,0 +1,1 @@
293 294 </span><a href="#l2.5" id="l2.5"> 2.5</a> <span class="plusline">+b
294 295 </span></pre></div>
295 296 </div>
296 297
297 298 </div>
298 299 </div>
299 300
300 301
301 302 </body>
302 303 </html>
303 304
304 305 % revision
305 306 200 Script output follows
306 307
307 308
308 309 # HG changeset patch
309 310 # User test
310 311 # Date 0 0
311 312 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
312 313
313 314 a
314 315
315 316 diff --git a/a b/a
316 317 new file mode 100644
317 318 --- /dev/null
318 319 +++ b/a
319 320 @@ -0,0 +1,1 @@
320 321 +a
321 322 diff --git a/b b/b
322 323 new file mode 100644
323 324 --- /dev/null
324 325 +++ b/b
325 326 @@ -0,0 +1,1 @@
326 327 +b
327 328
328 329 % diff removed file
329 330 200 Script output follows
330 331
331 332 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
332 333 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
333 334 <head>
334 335 <link rel="icon" href="/static/hgicon.png" type="image/png" />
335 336 <meta name="robots" content="index, nofollow" />
336 337 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
337 338
338 339 <title>test: a diff</title>
339 340 </head>
340 341 <body>
341 342
342 343 <div class="container">
343 344 <div class="menu">
344 345 <div class="logo">
345 346 <a href="http://mercurial.selenic.com/">
346 347 <img src="/static/hglogo.png" alt="mercurial" /></a>
347 348 </div>
348 349 <ul>
349 350 <li><a href="/shortlog/78e4ebad7cdf">log</a></li>
350 351 <li><a href="/graph/78e4ebad7cdf">graph</a></li>
351 352 <li><a href="/tags">tags</a></li>
352 353 <li><a href="/branches">branches</a></li>
353 354 </ul>
354 355 <ul>
355 356 <li><a href="/rev/78e4ebad7cdf">changeset</a></li>
356 357 <li><a href="/file/78e4ebad7cdf">browse</a></li>
357 358 </ul>
358 359 <ul>
359 360 <li><a href="/file/78e4ebad7cdf/a">file</a></li>
361 <li><a href="/file/tip/a">latest</a></li>
360 362 <li class="active">diff</li>
361 363 <li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
362 364 <li><a href="/log/78e4ebad7cdf/a">file log</a></li>
363 365 <li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
364 366 </ul>
365 367 </div>
366 368
367 369 <div class="main">
368 370 <h2><a href="/">test</a></h2>
369 371 <h3>diff a @ 1:78e4ebad7cdf</h3>
370 372
371 373 <form class="search" action="/log">
372 374 <p></p>
373 375 <p><input name="rev" id="search1" type="text" size="30" /></p>
374 376 <div id="hint">find changesets by author, revision,
375 377 files, or words in the commit message</div>
376 378 </form>
377 379
378 380 <div class="description">b</div>
379 381
380 382 <table id="changesetEntry">
381 383 <tr>
382 384 <th>author</th>
383 385 <td>&#116;&#101;&#115;&#116;</td>
384 386 </tr>
385 387 <tr>
386 388 <th>date</th>
387 389 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
388 390 </tr>
389 391 <tr>
390 392 <th>parents</th>
391 393 <td></td>
392 394 </tr>
393 395 <tr>
394 396 <th>children</th>
395 397 <td></td>
396 398 </tr>
397 399
398 400 </table>
399 401
400 402 <div class="overflow">
401 403 <div class="sourcefirst"> line diff</div>
402 404
403 405 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100755
404 406 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
405 407 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
406 408 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
407 409 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
408 410 </span></pre></div>
409 411 </div>
410 412 </div>
411 413 </div>
412 414
413 415
414 416
415 417 </body>
416 418 </html>
417 419
418 420 % errors
@@ -1,180 +1,181
1 1 % setting up repo
2 2 adding a
3 3 % set up hgweb
4 4 % revision
5 5 200 Script output follows
6 6
7 7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
8 8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
9 9 <head>
10 10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
11 11 <meta name="robots" content="index, nofollow" />
12 12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
13 13
14 14 <title>test: c78f6c5cbea9</title>
15 15 </head>
16 16 <body>
17 17 <div class="container">
18 18 <div class="menu">
19 19 <div class="logo">
20 20 <a href="http://mercurial.selenic.com/">
21 21 <img src="/static/hglogo.png" alt="mercurial" /></a>
22 22 </div>
23 23 <ul>
24 24 <li><a href="/shortlog/c78f6c5cbea9">log</a></li>
25 25 <li><a href="/graph/c78f6c5cbea9">graph</a></li>
26 26 <li><a href="/tags">tags</a></li>
27 27 <li><a href="/branches">branches</a></li>
28 28 </ul>
29 29 <ul>
30 30 <li class="active">changeset</li>
31 31 <li><a href="/raw-rev/c78f6c5cbea9">raw</a></li>
32 32 <li><a href="/file/c78f6c5cbea9">browse</a></li>
33 33 </ul>
34 34 <ul>
35 35
36 36 </ul>
37 37 </div>
38 38
39 39 <div class="main">
40 40
41 41 <h2><a href="/">test</a></h2>
42 42 <h3>changeset 1:c78f6c5cbea9 <span class="tag">tip</span> </h3>
43 43
44 44 <form class="search" action="/log">
45 45
46 46 <p><input name="rev" id="search1" type="text" size="30" /></p>
47 47 <div id="hint">find changesets by author, revision,
48 48 files, or words in the commit message</div>
49 49 </form>
50 50
51 51 <div class="description">del</div>
52 52
53 53 <table id="changesetEntry">
54 54 <tr>
55 55 <th class="author">author</th>
56 56 <td class="author">&#116;&#101;&#115;&#116;</td>
57 57 </tr>
58 58 <tr>
59 59 <th class="date">date</th>
60 60 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
61 61 <tr>
62 62 <th class="author">parents</th>
63 63 <td class="author"><a href="/rev/cb9a9f314b8b">cb9a9f314b8b</a> </td>
64 64 </tr>
65 65 <tr>
66 66 <th class="author">children</th>
67 67 <td class="author"></td>
68 68 </tr>
69 69 <tr>
70 70 <th class="files">files</th>
71 71 <td class="files">a </td>
72 72 </tr>
73 73 </table>
74 74
75 75 <div class="overflow">
76 76 <div class="sourcefirst"> line diff</div>
77 77
78 78 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/a Thu Jan 01 00:00:00 1970 +0000
79 79 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
80 80 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
81 81 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-a
82 82 </span></pre></div>
83 83 </div>
84 84
85 85 </div>
86 86 </div>
87 87
88 88
89 89 </body>
90 90 </html>
91 91
92 92 % diff removed file
93 93 200 Script output follows
94 94
95 95 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
96 96 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
97 97 <head>
98 98 <link rel="icon" href="/static/hgicon.png" type="image/png" />
99 99 <meta name="robots" content="index, nofollow" />
100 100 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
101 101
102 102 <title>test: a diff</title>
103 103 </head>
104 104 <body>
105 105
106 106 <div class="container">
107 107 <div class="menu">
108 108 <div class="logo">
109 109 <a href="http://mercurial.selenic.com/">
110 110 <img src="/static/hglogo.png" alt="mercurial" /></a>
111 111 </div>
112 112 <ul>
113 113 <li><a href="/shortlog/c78f6c5cbea9">log</a></li>
114 114 <li><a href="/graph/c78f6c5cbea9">graph</a></li>
115 115 <li><a href="/tags">tags</a></li>
116 116 <li><a href="/branches">branches</a></li>
117 117 </ul>
118 118 <ul>
119 119 <li><a href="/rev/c78f6c5cbea9">changeset</a></li>
120 120 <li><a href="/file/c78f6c5cbea9">browse</a></li>
121 121 </ul>
122 122 <ul>
123 123 <li><a href="/file/c78f6c5cbea9/a">file</a></li>
124 <li><a href="/file/tip/a">latest</a></li>
124 125 <li class="active">diff</li>
125 126 <li><a href="/annotate/c78f6c5cbea9/a">annotate</a></li>
126 127 <li><a href="/log/c78f6c5cbea9/a">file log</a></li>
127 128 <li><a href="/raw-file/c78f6c5cbea9/a">raw</a></li>
128 129 </ul>
129 130 </div>
130 131
131 132 <div class="main">
132 133 <h2><a href="/">test</a></h2>
133 134 <h3>diff a @ 1:c78f6c5cbea9</h3>
134 135
135 136 <form class="search" action="/log">
136 137 <p></p>
137 138 <p><input name="rev" id="search1" type="text" size="30" /></p>
138 139 <div id="hint">find changesets by author, revision,
139 140 files, or words in the commit message</div>
140 141 </form>
141 142
142 143 <div class="description">del</div>
143 144
144 145 <table id="changesetEntry">
145 146 <tr>
146 147 <th>author</th>
147 148 <td>&#116;&#101;&#115;&#116;</td>
148 149 </tr>
149 150 <tr>
150 151 <th>date</th>
151 152 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
152 153 </tr>
153 154 <tr>
154 155 <th>parents</th>
155 156 <td><a href="/file/cb9a9f314b8b/a">cb9a9f314b8b</a> </td>
156 157 </tr>
157 158 <tr>
158 159 <th>children</th>
159 160 <td></td>
160 161 </tr>
161 162
162 163 </table>
163 164
164 165 <div class="overflow">
165 166 <div class="sourcefirst"> line diff</div>
166 167
167 168 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/a Thu Jan 01 00:00:00 1970 +0000
168 169 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
169 170 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
170 171 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-a
171 172 </span></pre></div>
172 173 </div>
173 174 </div>
174 175 </div>
175 176
176 177
177 178
178 179 </body>
179 180 </html>
180 181
@@ -1,465 +1,467
1 1 adding primes.py
2 2 % hg serve
3 3 % hgweb filerevision, html
4 4 200 Script output follows
5 5
6 6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
7 7 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
8 8 <head>
9 9 <link rel="icon" href="/static/hgicon.png" type="image/png" />
10 10 <meta name="robots" content="index, nofollow" />
11 11 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
12 12
13 13 <link rel="stylesheet" href="/highlightcss" type="text/css" />
14 14 <title>test: 853dcd4de2a6 primes.py</title>
15 15 </head>
16 16 <body>
17 17
18 18 <div class="container">
19 19 <div class="menu">
20 20 <div class="logo">
21 21 <a href="http://mercurial.selenic.com/">
22 22 <img src="/static/hglogo.png" alt="mercurial" /></a>
23 23 </div>
24 24 <ul>
25 25 <li><a href="/shortlog/853dcd4de2a6">log</a></li>
26 26 <li><a href="/graph/853dcd4de2a6">graph</a></li>
27 27 <li><a href="/tags">tags</a></li>
28 28 <li><a href="/branches">branches</a></li>
29 29 </ul>
30 30 <ul>
31 31 <li><a href="/rev/853dcd4de2a6">changeset</a></li>
32 32 <li><a href="/file/853dcd4de2a6/">browse</a></li>
33 33 </ul>
34 34 <ul>
35 35 <li class="active">file</li>
36 <li><a href="/file/tip/primes.py">latest</a></li>
36 37 <li><a href="/diff/853dcd4de2a6/primes.py">diff</a></li>
37 38 <li><a href="/annotate/853dcd4de2a6/primes.py">annotate</a></li>
38 39 <li><a href="/log/853dcd4de2a6/primes.py">file log</a></li>
39 40 <li><a href="/raw-file/853dcd4de2a6/primes.py">raw</a></li>
40 41 </ul>
41 42 </div>
42 43
43 44 <div class="main">
44 45 <h2><a href="/">test</a></h2>
45 46 <h3>view primes.py @ 0:853dcd4de2a6</h3>
46 47
47 48 <form class="search" action="/log">
48 49
49 50 <p><input name="rev" id="search1" type="text" size="30" /></p>
50 51 <div id="hint">find changesets by author, revision,
51 52 files, or words in the commit message</div>
52 53 </form>
53 54
54 55 <div class="description">a</div>
55 56
56 57 <table id="changesetEntry">
57 58 <tr>
58 59 <th class="author">author</th>
59 60 <td class="author">&#116;&#101;&#115;&#116;</td>
60 61 </tr>
61 62 <tr>
62 63 <th class="date">date</th>
63 64 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
64 65 </tr>
65 66 <tr>
66 67 <th class="author">parents</th>
67 68 <td class="author"></td>
68 69 </tr>
69 70 <tr>
70 71 <th class="author">children</th>
71 72 <td class="author"></td>
72 73 </tr>
73 74
74 75 </table>
75 76
76 77 <div class="overflow">
77 78 <div class="sourcefirst"> line source</div>
78 79
79 80 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></div>
80 81 <div class="parity1 source"><a href="#l2" id="l2"> 2</a> </div>
81 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>
82 83 <div class="parity1 source"><a href="#l4" id="l4"> 4</a> </div>
83 84 <div class="parity0 source"><a href="#l5" id="l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></div>
84 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>
85 86 <div class="parity0 source"><a href="#l7" id="l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></div>
86 87 <div class="parity1 source"><a href="#l8" id="l8"> 8</a> </div>
87 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>
88 89 <div class="parity1 source"><a href="#l10" id="l10"> 10</a> </div>
89 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>
90 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>
91 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>
92 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>
93 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>
94 95 <div class="parity1 source"><a href="#l16" id="l16"> 16</a> <span class="c"># infinite recursion.</span></div>
95 96 <div class="parity0 source"><a href="#l17" id="l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></div>
96 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>
97 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>
98 99 <div class="parity1 source"><a href="#l20" id="l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></div>
99 100 <div class="parity0 source"><a href="#l21" id="l21"> 21</a> </div>
100 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>
101 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>
102 103 <div class="parity1 source"><a href="#l24" id="l24"> 24</a> </div>
103 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>
104 105 <div class="parity1 source"><a href="#l26" id="l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></div>
105 106 <div class="parity0 source"><a href="#l27" id="l27"> 27</a> <span class="kn">try</span><span class="p">:</span></div>
106 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>
107 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>
108 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>
109 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>
110 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>
111 112 <div class="sourcelast"></div>
112 113 </div>
113 114 </div>
114 115 </div>
115 116
116 117
117 118
118 119 </body>
119 120 </html>
120 121
121 122 % hgweb fileannotate, html
122 123 200 Script output follows
123 124
124 125 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
125 126 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
126 127 <head>
127 128 <link rel="icon" href="/static/hgicon.png" type="image/png" />
128 129 <meta name="robots" content="index, nofollow" />
129 130 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
130 131
131 132 <link rel="stylesheet" href="/highlightcss" type="text/css" />
132 133 <title>test: primes.py annotate</title>
133 134 </head>
134 135 <body>
135 136
136 137 <div class="container">
137 138 <div class="menu">
138 139 <div class="logo">
139 140 <a href="http://mercurial.selenic.com/">
140 141 <img src="/static/hglogo.png" alt="mercurial" /></a>
141 142 </div>
142 143 <ul>
143 144 <li><a href="/shortlog/853dcd4de2a6">log</a></li>
144 145 <li><a href="/graph/853dcd4de2a6">graph</a></li>
145 146 <li><a href="/tags">tags</a></li>
146 147 <li><a href="/branches">branches</a></li>
147 148 </ul>
148 149
149 150 <ul>
150 151 <li><a href="/rev/853dcd4de2a6">changeset</a></li>
151 152 <li><a href="/file/853dcd4de2a6/">browse</a></li>
152 153 </ul>
153 154 <ul>
154 155 <li><a href="/file/853dcd4de2a6/primes.py">file</a></li>
156 <li><a href="/file/tip/primes.py">latest</a></li>
155 157 <li><a href="/diff/853dcd4de2a6/primes.py">diff</a></li>
156 158 <li class="active">annotate</li>
157 159 <li><a href="/log/853dcd4de2a6/primes.py">file log</a></li>
158 160 <li><a href="/raw-annotate/853dcd4de2a6/primes.py">raw</a></li>
159 161 </ul>
160 162 </div>
161 163
162 164 <div class="main">
163 165 <h2><a href="/">test</a></h2>
164 166 <h3>annotate primes.py @ 0:853dcd4de2a6</h3>
165 167
166 168 <form class="search" action="/log">
167 169
168 170 <p><input name="rev" id="search1" type="text" size="30" /></p>
169 171 <div id="hint">find changesets by author, revision,
170 172 files, or words in the commit message</div>
171 173 </form>
172 174
173 175 <div class="description">a</div>
174 176
175 177 <table id="changesetEntry">
176 178 <tr>
177 179 <th class="author">author</th>
178 180 <td class="author">&#116;&#101;&#115;&#116;</td>
179 181 </tr>
180 182 <tr>
181 183 <th class="date">date</th>
182 184 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
183 185 </tr>
184 186 <tr>
185 187 <th class="author">parents</th>
186 188 <td class="author"></td>
187 189 </tr>
188 190 <tr>
189 191 <th class="author">children</th>
190 192 <td class="author"></td>
191 193 </tr>
192 194
193 195 </table>
194 196
195 197 <div class="overflow">
196 198 <table class="bigtable">
197 199 <tr>
198 200 <th class="annotate">rev</th>
199 201 <th class="line">&nbsp;&nbsp;line source</th>
200 202 </tr>
201 203
202 204 <tr class="parity0">
203 205 <td class="annotate">
204 206 <a href="/annotate/853dcd4de2a6/primes.py#1"
205 207 title="853dcd4de2a6: a">test@0</a>
206 208 </td>
207 209 <td class="source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></td>
208 210 </tr>
209 211 <tr class="parity1">
210 212 <td class="annotate">
211 213 <a href="/annotate/853dcd4de2a6/primes.py#2"
212 214 title="853dcd4de2a6: a">test@0</a>
213 215 </td>
214 216 <td class="source"><a href="#l2" id="l2"> 2</a> </td>
215 217 </tr>
216 218 <tr class="parity0">
217 219 <td class="annotate">
218 220 <a href="/annotate/853dcd4de2a6/primes.py#3"
219 221 title="853dcd4de2a6: a">test@0</a>
220 222 </td>
221 223 <td class="source"><a href="#l3" id="l3"> 3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
222 224 </tr>
223 225 <tr class="parity1">
224 226 <td class="annotate">
225 227 <a href="/annotate/853dcd4de2a6/primes.py#4"
226 228 title="853dcd4de2a6: a">test@0</a>
227 229 </td>
228 230 <td class="source"><a href="#l4" id="l4"> 4</a> </td>
229 231 </tr>
230 232 <tr class="parity0">
231 233 <td class="annotate">
232 234 <a href="/annotate/853dcd4de2a6/primes.py#5"
233 235 title="853dcd4de2a6: a">test@0</a>
234 236 </td>
235 237 <td class="source"><a href="#l5" id="l5"> 5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
236 238 </tr>
237 239 <tr class="parity1">
238 240 <td class="annotate">
239 241 <a href="/annotate/853dcd4de2a6/primes.py#6"
240 242 title="853dcd4de2a6: a">test@0</a>
241 243 </td>
242 244 <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>
243 245 </tr>
244 246 <tr class="parity0">
245 247 <td class="annotate">
246 248 <a href="/annotate/853dcd4de2a6/primes.py#7"
247 249 title="853dcd4de2a6: a">test@0</a>
248 250 </td>
249 251 <td class="source"><a href="#l7" id="l7"> 7</a> <span class="sd">&quot;&quot;&quot;</span></td>
250 252 </tr>
251 253 <tr class="parity1">
252 254 <td class="annotate">
253 255 <a href="/annotate/853dcd4de2a6/primes.py#8"
254 256 title="853dcd4de2a6: a">test@0</a>
255 257 </td>
256 258 <td class="source"><a href="#l8" id="l8"> 8</a> </td>
257 259 </tr>
258 260 <tr class="parity0">
259 261 <td class="annotate">
260 262 <a href="/annotate/853dcd4de2a6/primes.py#9"
261 263 title="853dcd4de2a6: a">test@0</a>
262 264 </td>
263 265 <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>
264 266 </tr>
265 267 <tr class="parity1">
266 268 <td class="annotate">
267 269 <a href="/annotate/853dcd4de2a6/primes.py#10"
268 270 title="853dcd4de2a6: a">test@0</a>
269 271 </td>
270 272 <td class="source"><a href="#l10" id="l10"> 10</a> </td>
271 273 </tr>
272 274 <tr class="parity0">
273 275 <td class="annotate">
274 276 <a href="/annotate/853dcd4de2a6/primes.py#11"
275 277 title="853dcd4de2a6: a">test@0</a>
276 278 </td>
277 279 <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>
278 280 </tr>
279 281 <tr class="parity1">
280 282 <td class="annotate">
281 283 <a href="/annotate/853dcd4de2a6/primes.py#12"
282 284 title="853dcd4de2a6: a">test@0</a>
283 285 </td>
284 286 <td class="source"><a href="#l12" id="l12"> 12</a> <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
285 287 </tr>
286 288 <tr class="parity0">
287 289 <td class="annotate">
288 290 <a href="/annotate/853dcd4de2a6/primes.py#13"
289 291 title="853dcd4de2a6: a">test@0</a>
290 292 </td>
291 293 <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>
292 294 </tr>
293 295 <tr class="parity1">
294 296 <td class="annotate">
295 297 <a href="/annotate/853dcd4de2a6/primes.py#14"
296 298 title="853dcd4de2a6: a">test@0</a>
297 299 </td>
298 300 <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>
299 301 </tr>
300 302 <tr class="parity0">
301 303 <td class="annotate">
302 304 <a href="/annotate/853dcd4de2a6/primes.py#15"
303 305 title="853dcd4de2a6: a">test@0</a>
304 306 </td>
305 307 <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>
306 308 </tr>
307 309 <tr class="parity1">
308 310 <td class="annotate">
309 311 <a href="/annotate/853dcd4de2a6/primes.py#16"
310 312 title="853dcd4de2a6: a">test@0</a>
311 313 </td>
312 314 <td class="source"><a href="#l16" id="l16"> 16</a> <span class="c"># infinite recursion.</span></td>
313 315 </tr>
314 316 <tr class="parity0">
315 317 <td class="annotate">
316 318 <a href="/annotate/853dcd4de2a6/primes.py#17"
317 319 title="853dcd4de2a6: a">test@0</a>
318 320 </td>
319 321 <td class="source"><a href="#l17" id="l17"> 17</a> <span class="kn">yield</span> <span class="n">p</span></td>
320 322 </tr>
321 323 <tr class="parity1">
322 324 <td class="annotate">
323 325 <a href="/annotate/853dcd4de2a6/primes.py#18"
324 326 title="853dcd4de2a6: a">test@0</a>
325 327 </td>
326 328 <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>
327 329 </tr>
328 330 <tr class="parity0">
329 331 <td class="annotate">
330 332 <a href="/annotate/853dcd4de2a6/primes.py#19"
331 333 title="853dcd4de2a6: a">test@0</a>
332 334 </td>
333 335 <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>
334 336 </tr>
335 337 <tr class="parity1">
336 338 <td class="annotate">
337 339 <a href="/annotate/853dcd4de2a6/primes.py#20"
338 340 title="853dcd4de2a6: a">test@0</a>
339 341 </td>
340 342 <td class="source"><a href="#l20" id="l20"> 20</a> <span class="kn">yield</span> <span class="n">n</span></td>
341 343 </tr>
342 344 <tr class="parity0">
343 345 <td class="annotate">
344 346 <a href="/annotate/853dcd4de2a6/primes.py#21"
345 347 title="853dcd4de2a6: a">test@0</a>
346 348 </td>
347 349 <td class="source"><a href="#l21" id="l21"> 21</a> </td>
348 350 </tr>
349 351 <tr class="parity1">
350 352 <td class="annotate">
351 353 <a href="/annotate/853dcd4de2a6/primes.py#22"
352 354 title="853dcd4de2a6: a">test@0</a>
353 355 </td>
354 356 <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>
355 357 </tr>
356 358 <tr class="parity0">
357 359 <td class="annotate">
358 360 <a href="/annotate/853dcd4de2a6/primes.py#23"
359 361 title="853dcd4de2a6: a">test@0</a>
360 362 </td>
361 363 <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>
362 364 </tr>
363 365 <tr class="parity1">
364 366 <td class="annotate">
365 367 <a href="/annotate/853dcd4de2a6/primes.py#24"
366 368 title="853dcd4de2a6: a">test@0</a>
367 369 </td>
368 370 <td class="source"><a href="#l24" id="l24"> 24</a> </td>
369 371 </tr>
370 372 <tr class="parity0">
371 373 <td class="annotate">
372 374 <a href="/annotate/853dcd4de2a6/primes.py#25"
373 375 title="853dcd4de2a6: a">test@0</a>
374 376 </td>
375 377 <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>
376 378 </tr>
377 379 <tr class="parity1">
378 380 <td class="annotate">
379 381 <a href="/annotate/853dcd4de2a6/primes.py#26"
380 382 title="853dcd4de2a6: a">test@0</a>
381 383 </td>
382 384 <td class="source"><a href="#l26" id="l26"> 26</a> <span class="kn">import</span> <span class="nn">sys</span></td>
383 385 </tr>
384 386 <tr class="parity0">
385 387 <td class="annotate">
386 388 <a href="/annotate/853dcd4de2a6/primes.py#27"
387 389 title="853dcd4de2a6: a">test@0</a>
388 390 </td>
389 391 <td class="source"><a href="#l27" id="l27"> 27</a> <span class="kn">try</span><span class="p">:</span></td>
390 392 </tr>
391 393 <tr class="parity1">
392 394 <td class="annotate">
393 395 <a href="/annotate/853dcd4de2a6/primes.py#28"
394 396 title="853dcd4de2a6: a">test@0</a>
395 397 </td>
396 398 <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>
397 399 </tr>
398 400 <tr class="parity0">
399 401 <td class="annotate">
400 402 <a href="/annotate/853dcd4de2a6/primes.py#29"
401 403 title="853dcd4de2a6: a">test@0</a>
402 404 </td>
403 405 <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>
404 406 </tr>
405 407 <tr class="parity1">
406 408 <td class="annotate">
407 409 <a href="/annotate/853dcd4de2a6/primes.py#30"
408 410 title="853dcd4de2a6: a">test@0</a>
409 411 </td>
410 412 <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>
411 413 </tr>
412 414 <tr class="parity0">
413 415 <td class="annotate">
414 416 <a href="/annotate/853dcd4de2a6/primes.py#31"
415 417 title="853dcd4de2a6: a">test@0</a>
416 418 </td>
417 419 <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>
418 420 </tr>
419 421 <tr class="parity1">
420 422 <td class="annotate">
421 423 <a href="/annotate/853dcd4de2a6/primes.py#32"
422 424 title="853dcd4de2a6: a">test@0</a>
423 425 </td>
424 426 <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>
425 427 </tr>
426 428 </table>
427 429 </div>
428 430 </div>
429 431 </div>
430 432
431 433
432 434
433 435 </body>
434 436 </html>
435 437
436 438 % hgweb fileannotate, raw
437 439
438 440 % hgweb filerevision, raw
439 441
440 442 % hgweb highlightcss friendly
441 443 200 Script output follows
442 444
443 445 /* pygments_style = friendly */
444 446
445 447 % errors encountered
446 448 % hg serve again
447 449 % hgweb highlightcss fruity
448 450 200 Script output follows
449 451
450 452 /* pygments_style = fruity */
451 453
452 454 % errors encountered
453 455 adding eucjp.txt
454 456 % HGENCODING=euc-jp hg serve
455 457 % hgweb filerevision, html
456 458 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> \xb5\xfe</div>
457 459 % errors encountered
458 460 % HGENCODING=utf-8 hg serve
459 461 % hgweb filerevision, html
460 462 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> \xef\xbf\xbd\xef\xbf\xbd</div>
461 463 % errors encountered
462 464 % HGENCODING=us-ascii hg serve
463 465 % hgweb filerevision, html
464 466 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> ??</div>
465 467 % errors encountered
General Comments 0
You need to be logged in to leave comments. Login now