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