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