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