##// END OF EJS Templates
hgweb: improve colors for comparison page...
Matt Mackall -
r17243:106cdea0 stable
parent child Browse files
Show More
@@ -1,325 +1,325 b''
1 body {
1 body {
2 margin: 0;
2 margin: 0;
3 padding: 0;
3 padding: 0;
4 background: black url(background.png) repeat-x;
4 background: black url(background.png) repeat-x;
5 font-family: sans-serif;
5 font-family: sans-serif;
6 }
6 }
7
7
8 .container {
8 .container {
9 padding-right: 150px;
9 padding-right: 150px;
10 }
10 }
11
11
12 .main {
12 .main {
13 position: relative;
13 position: relative;
14 background: white;
14 background: white;
15 padding: 2em;
15 padding: 2em;
16 border-right: 15px solid black;
16 border-right: 15px solid black;
17 border-bottom: 15px solid black;
17 border-bottom: 15px solid black;
18 }
18 }
19
19
20 #.main {
20 #.main {
21 width: 98%;
21 width: 98%;
22 }
22 }
23
23
24 .overflow {
24 .overflow {
25 width: 100%;
25 width: 100%;
26 overflow: auto;
26 overflow: auto;
27 }
27 }
28
28
29 .menu {
29 .menu {
30 background: #999;
30 background: #999;
31 padding: 10px;
31 padding: 10px;
32 width: 75px;
32 width: 75px;
33 margin: 0;
33 margin: 0;
34 font-size: 80%;
34 font-size: 80%;
35 text-align: left;
35 text-align: left;
36 position: fixed;
36 position: fixed;
37 top: 27px;
37 top: 27px;
38 left: auto;
38 left: auto;
39 right: 27px;
39 right: 27px;
40 }
40 }
41
41
42 #.menu {
42 #.menu {
43 position: absolute !important;
43 position: absolute !important;
44 top:expression(eval(document.body.scrollTop + 27));
44 top:expression(eval(document.body.scrollTop + 27));
45 }
45 }
46
46
47 .menu ul {
47 .menu ul {
48 list-style: none;
48 list-style: none;
49 padding: 0;
49 padding: 0;
50 margin: 10px 0 0 0;
50 margin: 10px 0 0 0;
51 }
51 }
52
52
53 .menu li {
53 .menu li {
54 margin-bottom: 3px;
54 margin-bottom: 3px;
55 padding: 2px 4px;
55 padding: 2px 4px;
56 background: white;
56 background: white;
57 color: black;
57 color: black;
58 font-weight: normal;
58 font-weight: normal;
59 }
59 }
60
60
61 .menu li.active {
61 .menu li.active {
62 background: black;
62 background: black;
63 color: white;
63 color: white;
64 }
64 }
65
65
66 .menu img {
66 .menu img {
67 width: 75px;
67 width: 75px;
68 height: 90px;
68 height: 90px;
69 border: 0;
69 border: 0;
70 }
70 }
71
71
72 .menu a { color: black; display: block; }
72 .menu a { color: black; display: block; }
73
73
74 .search {
74 .search {
75 position: absolute;
75 position: absolute;
76 top: .7em;
76 top: .7em;
77 right: 2em;
77 right: 2em;
78 }
78 }
79
79
80 form.search div#hint {
80 form.search div#hint {
81 display: none;
81 display: none;
82 position: absolute;
82 position: absolute;
83 top: 40px;
83 top: 40px;
84 right: 0px;
84 right: 0px;
85 width: 190px;
85 width: 190px;
86 padding: 5px;
86 padding: 5px;
87 background: #ffc;
87 background: #ffc;
88 font-size: 70%;
88 font-size: 70%;
89 border: 1px solid yellow;
89 border: 1px solid yellow;
90 -moz-border-radius: 5px; /* this works only in camino/firefox */
90 -moz-border-radius: 5px; /* this works only in camino/firefox */
91 -webkit-border-radius: 5px; /* this is just for Safari */
91 -webkit-border-radius: 5px; /* this is just for Safari */
92 }
92 }
93
93
94 form.search:hover div#hint { display: block; }
94 form.search:hover div#hint { display: block; }
95
95
96 a { text-decoration:none; }
96 a { text-decoration:none; }
97 .age { white-space:nowrap; }
97 .age { white-space:nowrap; }
98 .date { white-space:nowrap; }
98 .date { white-space:nowrap; }
99 .indexlinks { white-space:nowrap; }
99 .indexlinks { white-space:nowrap; }
100 .parity0 { background-color: #f0f0f0; }
100 .parity0 { background-color: #f0f0f0; }
101 .parity1 { background-color: white; }
101 .parity1 { background-color: white; }
102 .plusline { color: green; }
102 .plusline { color: green; }
103 .minusline { color: #dc143c; } /* crimson */
103 .minusline { color: #dc143c; } /* crimson */
104 .atline { color: purple; }
104 .atline { color: purple; }
105
105
106 .diffstat-file {
106 .diffstat-file {
107 white-space: nowrap;
107 white-space: nowrap;
108 font-size: 90%;
108 font-size: 90%;
109 }
109 }
110 .diffstat-total {
110 .diffstat-total {
111 white-space: nowrap;
111 white-space: nowrap;
112 font-size: 90%;
112 font-size: 90%;
113 }
113 }
114 .diffstat-graph {
114 .diffstat-graph {
115 width: 100%;
115 width: 100%;
116 }
116 }
117 .diffstat-add {
117 .diffstat-add {
118 background-color: green;
118 background-color: green;
119 float: left;
119 float: left;
120 }
120 }
121 .diffstat-remove {
121 .diffstat-remove {
122 background-color: red;
122 background-color: red;
123 float: left;
123 float: left;
124 }
124 }
125
125
126 .navigate {
126 .navigate {
127 text-align: right;
127 text-align: right;
128 font-size: 60%;
128 font-size: 60%;
129 margin: 1em 0;
129 margin: 1em 0;
130 }
130 }
131
131
132 .tag {
132 .tag {
133 color: #999;
133 color: #999;
134 font-size: 70%;
134 font-size: 70%;
135 font-weight: normal;
135 font-weight: normal;
136 margin-left: .5em;
136 margin-left: .5em;
137 vertical-align: baseline;
137 vertical-align: baseline;
138 }
138 }
139
139
140 .branchhead {
140 .branchhead {
141 color: #000;
141 color: #000;
142 font-size: 80%;
142 font-size: 80%;
143 font-weight: normal;
143 font-weight: normal;
144 margin-left: .5em;
144 margin-left: .5em;
145 vertical-align: baseline;
145 vertical-align: baseline;
146 }
146 }
147
147
148 ul#graphnodes .branchhead {
148 ul#graphnodes .branchhead {
149 font-size: 75%;
149 font-size: 75%;
150 }
150 }
151
151
152 .branchname {
152 .branchname {
153 color: #000;
153 color: #000;
154 font-size: 60%;
154 font-size: 60%;
155 font-weight: normal;
155 font-weight: normal;
156 margin-left: .5em;
156 margin-left: .5em;
157 vertical-align: baseline;
157 vertical-align: baseline;
158 }
158 }
159
159
160 h3 .branchname {
160 h3 .branchname {
161 font-size: 80%;
161 font-size: 80%;
162 }
162 }
163
163
164 /* Common */
164 /* Common */
165 pre { margin: 0; }
165 pre { margin: 0; }
166
166
167 h2 { font-size: 120%; border-bottom: 1px solid #999; }
167 h2 { font-size: 120%; border-bottom: 1px solid #999; }
168 h2 a { color: #000; }
168 h2 a { color: #000; }
169 h3 {
169 h3 {
170 margin-top: -.7em;
170 margin-top: -.7em;
171 font-size: 100%;
171 font-size: 100%;
172 }
172 }
173
173
174 /* log and tags tables */
174 /* log and tags tables */
175 .bigtable {
175 .bigtable {
176 border-bottom: 1px solid #999;
176 border-bottom: 1px solid #999;
177 border-collapse: collapse;
177 border-collapse: collapse;
178 font-size: 90%;
178 font-size: 90%;
179 width: 100%;
179 width: 100%;
180 font-weight: normal;
180 font-weight: normal;
181 text-align: left;
181 text-align: left;
182 }
182 }
183
183
184 .bigtable td {
184 .bigtable td {
185 vertical-align: top;
185 vertical-align: top;
186 }
186 }
187
187
188 .bigtable th {
188 .bigtable th {
189 padding: 1px 4px;
189 padding: 1px 4px;
190 border-bottom: 1px solid #999;
190 border-bottom: 1px solid #999;
191 }
191 }
192 .bigtable tr { border: none; }
192 .bigtable tr { border: none; }
193 .bigtable .age { width: 6em; }
193 .bigtable .age { width: 6em; }
194 .bigtable .author { width: 12em; }
194 .bigtable .author { width: 12em; }
195 .bigtable .description { }
195 .bigtable .description { }
196 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
196 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
197 .bigtable .node { width: 5em; font-family: monospace;}
197 .bigtable .node { width: 5em; font-family: monospace;}
198 .bigtable .lineno { width: 2em; text-align: right;}
198 .bigtable .lineno { width: 2em; text-align: right;}
199 .bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
199 .bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
200 .bigtable .permissions { width: 8em; text-align: left;}
200 .bigtable .permissions { width: 8em; text-align: left;}
201 .bigtable .size { width: 5em; text-align: right; }
201 .bigtable .size { width: 5em; text-align: right; }
202 .bigtable .annotate { text-align: right; }
202 .bigtable .annotate { text-align: right; }
203 .bigtable td.annotate { font-size: smaller; }
203 .bigtable td.annotate { font-size: smaller; }
204 .bigtable td.source { font-size: inherit; }
204 .bigtable td.source { font-size: inherit; }
205
205
206 .source, .sourcefirst, .sourcelast {
206 .source, .sourcefirst, .sourcelast {
207 font-family: monospace;
207 font-family: monospace;
208 white-space: pre;
208 white-space: pre;
209 padding: 1px 4px;
209 padding: 1px 4px;
210 font-size: 90%;
210 font-size: 90%;
211 }
211 }
212 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
212 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
213 .sourcelast { border-top: 1px solid #999; }
213 .sourcelast { border-top: 1px solid #999; }
214 .source a { color: #999; font-size: smaller; font-family: monospace;}
214 .source a { color: #999; font-size: smaller; font-family: monospace;}
215 .bottomline { border-bottom: 1px solid #999; }
215 .bottomline { border-bottom: 1px solid #999; }
216
216
217 .fileline { font-family: monospace; }
217 .fileline { font-family: monospace; }
218 .fileline img { border: 0; }
218 .fileline img { border: 0; }
219
219
220 .tagEntry .closed { color: #99f; }
220 .tagEntry .closed { color: #99f; }
221
221
222 /* Changeset entry */
222 /* Changeset entry */
223 #changesetEntry {
223 #changesetEntry {
224 border-collapse: collapse;
224 border-collapse: collapse;
225 font-size: 90%;
225 font-size: 90%;
226 width: 100%;
226 width: 100%;
227 margin-bottom: 1em;
227 margin-bottom: 1em;
228 }
228 }
229
229
230 #changesetEntry th {
230 #changesetEntry th {
231 padding: 1px 4px;
231 padding: 1px 4px;
232 width: 4em;
232 width: 4em;
233 text-align: right;
233 text-align: right;
234 font-weight: normal;
234 font-weight: normal;
235 color: #999;
235 color: #999;
236 margin-right: .5em;
236 margin-right: .5em;
237 vertical-align: top;
237 vertical-align: top;
238 }
238 }
239
239
240 div.description {
240 div.description {
241 border-left: 3px solid #999;
241 border-left: 3px solid #999;
242 margin: 1em 0 1em 0;
242 margin: 1em 0 1em 0;
243 padding: .3em;
243 padding: .3em;
244 white-space: pre;
244 white-space: pre;
245 font-family: monospace;
245 font-family: monospace;
246 }
246 }
247
247
248 /* Graph */
248 /* Graph */
249 div#wrapper {
249 div#wrapper {
250 position: relative;
250 position: relative;
251 border-top: 1px solid black;
251 border-top: 1px solid black;
252 border-bottom: 1px solid black;
252 border-bottom: 1px solid black;
253 margin: 0;
253 margin: 0;
254 padding: 0;
254 padding: 0;
255 }
255 }
256
256
257 canvas {
257 canvas {
258 position: absolute;
258 position: absolute;
259 z-index: 5;
259 z-index: 5;
260 top: -0.7em;
260 top: -0.7em;
261 margin: 0;
261 margin: 0;
262 }
262 }
263
263
264 ul#graphnodes {
264 ul#graphnodes {
265 position: absolute;
265 position: absolute;
266 z-index: 10;
266 z-index: 10;
267 top: -1.0em;
267 top: -1.0em;
268 list-style: none inside none;
268 list-style: none inside none;
269 padding: 0;
269 padding: 0;
270 }
270 }
271
271
272 ul#nodebgs {
272 ul#nodebgs {
273 list-style: none inside none;
273 list-style: none inside none;
274 padding: 0;
274 padding: 0;
275 margin: 0;
275 margin: 0;
276 top: -0.7em;
276 top: -0.7em;
277 }
277 }
278
278
279 ul#graphnodes li, ul#nodebgs li {
279 ul#graphnodes li, ul#nodebgs li {
280 height: 39px;
280 height: 39px;
281 }
281 }
282
282
283 ul#graphnodes li .info {
283 ul#graphnodes li .info {
284 display: block;
284 display: block;
285 font-size: 70%;
285 font-size: 70%;
286 position: relative;
286 position: relative;
287 top: -3px;
287 top: -3px;
288 }
288 }
289
289
290 /* Comparison */
290 /* Comparison */
291 .legend {
291 .legend {
292 padding: 1.5% 0 1.5% 0;
292 padding: 1.5% 0 1.5% 0;
293 }
293 }
294
294
295 .legendinfo {
295 .legendinfo {
296 border: 1px solid #999;
296 border: 1px solid #999;
297 font-size: 80%;
297 font-size: 80%;
298 text-align: center;
298 text-align: center;
299 padding: 0.5%;
299 padding: 0.5%;
300 }
300 }
301
301
302 .equal {
302 .equal {
303 background-color: #ffffff;
303 background-color: #ffffff;
304 }
304 }
305
305
306 .delete {
306 .delete {
307 background-color: black;
307 background-color: #faa;
308 color: white;
308 color: #333;
309 }
309 }
310
310
311 .insert {
311 .insert {
312 background-color: #d0d0d0;
312 background-color: #ffa;
313 }
313 }
314
314
315 .replace {
315 .replace {
316 background-color: #f9f9f9;
316 background-color: #e8e8e8;
317 }
317 }
318
318
319 .header {
319 .header {
320 text-align: center;
320 text-align: center;
321 }
321 }
322
322
323 .block {
323 .block {
324 border-top: 1px solid #999;
324 border-top: 1px solid #999;
325 }
325 }
@@ -1,168 +1,169 b''
1 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
1 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
2 a { color:#0000cc; }
2 a { color:#0000cc; }
3 a:hover, a:visited, a:active { color:#880000; }
3 a:hover, a:visited, a:active { color:#880000; }
4 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
4 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
5 div.page_header a:visited { color:#0000cc; }
5 div.page_header a:visited { color:#0000cc; }
6 div.page_header a:hover { color:#880000; }
6 div.page_header a:hover { color:#880000; }
7 div.page_nav { padding:8px; }
7 div.page_nav { padding:8px; }
8 div.page_nav a:visited { color:#0000cc; }
8 div.page_nav a:visited { color:#0000cc; }
9 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
9 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
10 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
10 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
11 div.page_footer_text { float:left; color:#555555; font-style:italic; }
11 div.page_footer_text { float:left; color:#555555; font-style:italic; }
12 div.page_body { padding:8px; }
12 div.page_body { padding:8px; }
13 div.title, a.title {
13 div.title, a.title {
14 display:block; padding:6px 8px;
14 display:block; padding:6px 8px;
15 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
15 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
16 }
16 }
17 a.title:hover { background-color: #d9d8d1; }
17 a.title:hover { background-color: #d9d8d1; }
18 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
18 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
19 div.log_body { padding:8px 8px 8px 150px; }
19 div.log_body { padding:8px 8px 8px 150px; }
20 .age { white-space:nowrap; }
20 .age { white-space:nowrap; }
21 span.age { position:relative; float:left; width:142px; font-style:italic; }
21 span.age { position:relative; float:left; width:142px; font-style:italic; }
22 div.log_link {
22 div.log_link {
23 padding:0px 8px;
23 padding:0px 8px;
24 font-size:10px; font-family:sans-serif; font-style:normal;
24 font-size:10px; font-family:sans-serif; font-style:normal;
25 position:relative; float:left; width:136px;
25 position:relative; float:left; width:136px;
26 }
26 }
27 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
27 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
28 a.list { text-decoration:none; color:#000000; }
28 a.list { text-decoration:none; color:#000000; }
29 a.list:hover { text-decoration:underline; color:#880000; }
29 a.list:hover { text-decoration:underline; color:#880000; }
30 table { padding:8px 4px; }
30 table { padding:8px 4px; }
31 th { padding:2px 5px; font-size:12px; text-align:left; }
31 th { padding:2px 5px; font-size:12px; text-align:left; }
32 tr.light:hover, .parity0:hover { background-color:#edece6; }
32 tr.light:hover, .parity0:hover { background-color:#edece6; }
33 tr.dark, .parity1 { background-color:#f6f6f0; }
33 tr.dark, .parity1 { background-color:#f6f6f0; }
34 tr.dark:hover, .parity1:hover { background-color:#edece6; }
34 tr.dark:hover, .parity1:hover { background-color:#edece6; }
35 td { padding:2px 5px; font-size:12px; vertical-align:top; }
35 td { padding:2px 5px; font-size:12px; vertical-align:top; }
36 td.closed { background-color: #99f; }
36 td.closed { background-color: #99f; }
37 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
37 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
38 td.indexlinks { white-space: nowrap; }
38 td.indexlinks { white-space: nowrap; }
39 td.indexlinks a {
39 td.indexlinks a {
40 padding: 2px 5px; line-height: 10px;
40 padding: 2px 5px; line-height: 10px;
41 border: 1px solid;
41 border: 1px solid;
42 color: #ffffff; background-color: #7777bb;
42 color: #ffffff; background-color: #7777bb;
43 border-color: #aaaadd #333366 #333366 #aaaadd;
43 border-color: #aaaadd #333366 #333366 #aaaadd;
44 font-weight: bold; text-align: center; text-decoration: none;
44 font-weight: bold; text-align: center; text-decoration: none;
45 font-size: 10px;
45 font-size: 10px;
46 }
46 }
47 td.indexlinks a:hover { background-color: #6666aa; }
47 td.indexlinks a:hover { background-color: #6666aa; }
48 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
48 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
49 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
49 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
50 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
50 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
51 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
51 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
52 .linenr { color:#999999; text-decoration:none }
52 .linenr { color:#999999; text-decoration:none }
53 div.rss_logo { float: right; white-space: nowrap; }
53 div.rss_logo { float: right; white-space: nowrap; }
54 div.rss_logo a {
54 div.rss_logo a {
55 padding:3px 6px; line-height:10px;
55 padding:3px 6px; line-height:10px;
56 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
56 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
57 color:#ffffff; background-color:#ff6600;
57 color:#ffffff; background-color:#ff6600;
58 font-weight:bold; font-family:sans-serif; font-size:10px;
58 font-weight:bold; font-family:sans-serif; font-size:10px;
59 text-align:center; text-decoration:none;
59 text-align:center; text-decoration:none;
60 }
60 }
61 div.rss_logo a:hover { background-color:#ee5500; }
61 div.rss_logo a:hover { background-color:#ee5500; }
62 pre { margin: 0; }
62 pre { margin: 0; }
63 span.logtags span {
63 span.logtags span {
64 padding: 0px 4px;
64 padding: 0px 4px;
65 font-size: 10px;
65 font-size: 10px;
66 font-weight: normal;
66 font-weight: normal;
67 border: 1px solid;
67 border: 1px solid;
68 background-color: #ffaaff;
68 background-color: #ffaaff;
69 border-color: #ffccff #ff00ee #ff00ee #ffccff;
69 border-color: #ffccff #ff00ee #ff00ee #ffccff;
70 }
70 }
71 span.logtags span.tagtag {
71 span.logtags span.tagtag {
72 background-color: #ffffaa;
72 background-color: #ffffaa;
73 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
73 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
74 }
74 }
75 span.logtags span.branchtag {
75 span.logtags span.branchtag {
76 background-color: #aaffaa;
76 background-color: #aaffaa;
77 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
77 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
78 }
78 }
79 span.logtags span.inbranchtag {
79 span.logtags span.inbranchtag {
80 background-color: #d5dde6;
80 background-color: #d5dde6;
81 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
81 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
82 }
82 }
83 span.logtags span.bookmarktag {
83 span.logtags span.bookmarktag {
84 background-color: #afdffa;
84 background-color: #afdffa;
85 border-color: #ccecff #46ace6 #46ace6 #ccecff;
85 border-color: #ccecff #46ace6 #46ace6 #ccecff;
86 }
86 }
87
87
88 /* Graph */
88 /* Graph */
89 div#wrapper {
89 div#wrapper {
90 position: relative;
90 position: relative;
91 margin: 0;
91 margin: 0;
92 padding: 0;
92 padding: 0;
93 margin-top: 3px;
93 margin-top: 3px;
94 }
94 }
95
95
96 canvas {
96 canvas {
97 position: absolute;
97 position: absolute;
98 z-index: 5;
98 z-index: 5;
99 top: -0.9em;
99 top: -0.9em;
100 margin: 0;
100 margin: 0;
101 }
101 }
102
102
103 ul#nodebgs {
103 ul#nodebgs {
104 list-style: none inside none;
104 list-style: none inside none;
105 padding: 0;
105 padding: 0;
106 margin: 0;
106 margin: 0;
107 top: -0.7em;
107 top: -0.7em;
108 }
108 }
109
109
110 ul#graphnodes li, ul#nodebgs li {
110 ul#graphnodes li, ul#nodebgs li {
111 height: 39px;
111 height: 39px;
112 }
112 }
113
113
114 ul#graphnodes {
114 ul#graphnodes {
115 position: absolute;
115 position: absolute;
116 z-index: 10;
116 z-index: 10;
117 top: -0.8em;
117 top: -0.8em;
118 list-style: none inside none;
118 list-style: none inside none;
119 padding: 0;
119 padding: 0;
120 }
120 }
121
121
122 ul#graphnodes li .info {
122 ul#graphnodes li .info {
123 display: block;
123 display: block;
124 font-size: 100%;
124 font-size: 100%;
125 position: relative;
125 position: relative;
126 top: -3px;
126 top: -3px;
127 font-style: italic;
127 font-style: italic;
128 }
128 }
129
129
130 /* Comparison */
130 /* Comparison */
131 .legend {
131 .legend {
132 padding: 1.5% 0 1.5% 0;
132 padding: 1.5% 0 1.5% 0;
133 }
133 }
134
134
135 .legendinfo {
135 .legendinfo {
136 border: 1px solid #d9d8d1;
136 border: 1px solid #d9d8d1;
137 font-size: 80%;
137 font-size: 80%;
138 text-align: center;
138 text-align: center;
139 padding: 0.5%;
139 padding: 0.5%;
140 }
140 }
141
141
142 .equal {
142 .equal {
143 background-color: #ffffff;
143 background-color: #ffffff;
144 }
144 }
145
145
146 .delete {
146 .delete {
147 background-color: #ffc5ce;
147 background-color: #faa;
148 color: #333;
148 }
149 }
149
150
150 .insert {
151 .insert {
151 background-color: #c5ffc4;
152 background-color: #ffa;
152 }
153 }
153
154
154 .replace {
155 .replace {
155 background-color: #ffff99;
156 background-color: #e8e8e8;
156 }
157 }
157
158
158 .comparison {
159 .comparison {
159 overflow-x: auto;
160 overflow-x: auto;
160 }
161 }
161
162
162 .header th {
163 .header th {
163 text-align: center;
164 text-align: center;
164 }
165 }
165
166
166 .block {
167 .block {
167 border-top: 1px solid #d9d8d1;
168 border-top: 1px solid #d9d8d1;
168 }
169 }
@@ -1,525 +1,526 b''
1 /*** Initial Settings ***/
1 /*** Initial Settings ***/
2 * {
2 * {
3 margin: 0;
3 margin: 0;
4 padding: 0;
4 padding: 0;
5 font-weight: normal;
5 font-weight: normal;
6 font-style: normal;
6 font-style: normal;
7 }
7 }
8
8
9 html {
9 html {
10 font-size: 100%;
10 font-size: 100%;
11 font-family: sans-serif;
11 font-family: sans-serif;
12 }
12 }
13
13
14 body {
14 body {
15 font-size: 77%;
15 font-size: 77%;
16 margin: 15px 50px;
16 margin: 15px 50px;
17 background: #4B4B4C;
17 background: #4B4B4C;
18 }
18 }
19
19
20 a {
20 a {
21 color:#0000cc;
21 color:#0000cc;
22 text-decoration: none;
22 text-decoration: none;
23 }
23 }
24 /*** end of Initial Settings ***/
24 /*** end of Initial Settings ***/
25
25
26
26
27 /** common settings **/
27 /** common settings **/
28 div#container {
28 div#container {
29 background: #FFFFFF;
29 background: #FFFFFF;
30 position: relative;
30 position: relative;
31 color: #666;
31 color: #666;
32 }
32 }
33
33
34 div.page-header {
34 div.page-header {
35 padding: 50px 20px 0;
35 padding: 50px 20px 0;
36 background: #006699 top left repeat-x;
36 background: #006699 top left repeat-x;
37 position: relative;
37 position: relative;
38 }
38 }
39 div.page-header h1 {
39 div.page-header h1 {
40 margin: 10px 0 30px;
40 margin: 10px 0 30px;
41 font-size: 1.8em;
41 font-size: 1.8em;
42 font-weight: bold;
42 font-weight: bold;
43 font-family: osaka,'MS P Gothic', Georgia, serif;
43 font-family: osaka,'MS P Gothic', Georgia, serif;
44 letter-spacing: 1px;
44 letter-spacing: 1px;
45 color: #DDD;
45 color: #DDD;
46 }
46 }
47 div.page-header h1 a {
47 div.page-header h1 a {
48 font-weight: bold;
48 font-weight: bold;
49 color: #FFF;
49 color: #FFF;
50 }
50 }
51 div.page-header a {
51 div.page-header a {
52 text-decoration: none;
52 text-decoration: none;
53 }
53 }
54
54
55 div.page-header form {
55 div.page-header form {
56 position: absolute;
56 position: absolute;
57 margin-bottom: 2px;
57 margin-bottom: 2px;
58 bottom: 0;
58 bottom: 0;
59 right: 20px;
59 right: 20px;
60 }
60 }
61 div.page-header form label {
61 div.page-header form label {
62 color: #DDD;
62 color: #DDD;
63 }
63 }
64 div.page-header form input {
64 div.page-header form input {
65 padding: 2px;
65 padding: 2px;
66 border: solid 1px #DDD;
66 border: solid 1px #DDD;
67 }
67 }
68 div.page-header form dl {
68 div.page-header form dl {
69 overflow: hidden;
69 overflow: hidden;
70 }
70 }
71 div.page-header form dl dt {
71 div.page-header form dl dt {
72 font-size: 1.2em;
72 font-size: 1.2em;
73 }
73 }
74 div.page-header form dl dt,
74 div.page-header form dl dt,
75 div.page-header form dl dd {
75 div.page-header form dl dd {
76 margin: 0 0 0 5px;
76 margin: 0 0 0 5px;
77 float: left;
77 float: left;
78 height: 24px;
78 height: 24px;
79 line-height: 20px;
79 line-height: 20px;
80 }
80 }
81
81
82 ul.page-nav {
82 ul.page-nav {
83 margin: 10px 0 0 0;
83 margin: 10px 0 0 0;
84 list-style-type: none;
84 list-style-type: none;
85 overflow: hidden;
85 overflow: hidden;
86 width: 900px;
86 width: 900px;
87 }
87 }
88 ul.page-nav li {
88 ul.page-nav li {
89 margin: 0 2px 0 0;
89 margin: 0 2px 0 0;
90 float: left;
90 float: left;
91 width: 80px;
91 width: 80px;
92 height: 24px;
92 height: 24px;
93 font-size: 1.1em;
93 font-size: 1.1em;
94 line-height: 24px;
94 line-height: 24px;
95 text-align: center;
95 text-align: center;
96 }
96 }
97 ul.page-nav li.current {
97 ul.page-nav li.current {
98 background: #FFF;
98 background: #FFF;
99 }
99 }
100 ul.page-nav li a {
100 ul.page-nav li a {
101 height: 24px;
101 height: 24px;
102 color: #666;
102 color: #666;
103 background: #DDD;
103 background: #DDD;
104 display: block;
104 display: block;
105 text-decoration: none;
105 text-decoration: none;
106 }
106 }
107 ul.page-nav li a:hover {
107 ul.page-nav li a:hover {
108 color:#333;
108 color:#333;
109 background: #FFF;
109 background: #FFF;
110 }
110 }
111
111
112 ul.submenu {
112 ul.submenu {
113 margin: 10px 0 -10px 20px;
113 margin: 10px 0 -10px 20px;
114 list-style-type: none;
114 list-style-type: none;
115 }
115 }
116 ul.submenu li {
116 ul.submenu li {
117 margin: 0 10px 0 0;
117 margin: 0 10px 0 0;
118 font-size: 1.2em;
118 font-size: 1.2em;
119 display: inline;
119 display: inline;
120 }
120 }
121
121
122 h2 {
122 h2 {
123 margin: 20px 0 10px;
123 margin: 20px 0 10px;
124 height: 30px;
124 height: 30px;
125 line-height: 30px;
125 line-height: 30px;
126 text-indent: 20px;
126 text-indent: 20px;
127 background: #FFF;
127 background: #FFF;
128 font-size: 1.2em;
128 font-size: 1.2em;
129 border-top: dotted 1px #D5E1E6;
129 border-top: dotted 1px #D5E1E6;
130 font-weight: bold;
130 font-weight: bold;
131 }
131 }
132 h2.no-link {
132 h2.no-link {
133 color:#006699;
133 color:#006699;
134 }
134 }
135 h2.no-border {
135 h2.no-border {
136 color: #FFF;
136 color: #FFF;
137 background: #006699;
137 background: #006699;
138 border: 0;
138 border: 0;
139 }
139 }
140 h2 a {
140 h2 a {
141 font-weight:bold;
141 font-weight:bold;
142 color:#006699;
142 color:#006699;
143 }
143 }
144
144
145 div.page-path {
145 div.page-path {
146 text-align: right;
146 text-align: right;
147 padding: 20px 30px 10px 0;
147 padding: 20px 30px 10px 0;
148 border:solid #d9d8d1;
148 border:solid #d9d8d1;
149 border-width:0px 0px 1px;
149 border-width:0px 0px 1px;
150 font-size: 1.2em;
150 font-size: 1.2em;
151 }
151 }
152
152
153 div.page-footer {
153 div.page-footer {
154 margin: 50px 0 0;
154 margin: 50px 0 0;
155 position: relative;
155 position: relative;
156 }
156 }
157 div.page-footer p {
157 div.page-footer p {
158 position: relative;
158 position: relative;
159 left: 20px;
159 left: 20px;
160 bottom: 5px;
160 bottom: 5px;
161 font-size: 1.2em;
161 font-size: 1.2em;
162 }
162 }
163
163
164 ul.rss-logo {
164 ul.rss-logo {
165 position: absolute;
165 position: absolute;
166 top: -10px;
166 top: -10px;
167 right: 20px;
167 right: 20px;
168 height: 20px;
168 height: 20px;
169 list-style-type: none;
169 list-style-type: none;
170 }
170 }
171 ul.rss-logo li {
171 ul.rss-logo li {
172 display: inline;
172 display: inline;
173 }
173 }
174 ul.rss-logo li a {
174 ul.rss-logo li a {
175 padding: 3px 6px;
175 padding: 3px 6px;
176 line-height: 10px;
176 line-height: 10px;
177 border:1px solid;
177 border:1px solid;
178 border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
178 border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
179 color:#ffffff;
179 color:#ffffff;
180 background-color:#ff6600;
180 background-color:#ff6600;
181 font-weight:bold;
181 font-weight:bold;
182 font-family:sans-serif;
182 font-family:sans-serif;
183 font-size:10px;
183 font-size:10px;
184 text-align:center;
184 text-align:center;
185 text-decoration:none;
185 text-decoration:none;
186 }
186 }
187 div.rss-logo li a:hover {
187 div.rss-logo li a:hover {
188 background-color:#ee5500;
188 background-color:#ee5500;
189 }
189 }
190
190
191 p.normal {
191 p.normal {
192 margin: 20px 0 20px 30px;
192 margin: 20px 0 20px 30px;
193 font-size: 1.2em;
193 font-size: 1.2em;
194 }
194 }
195
195
196 table {
196 table {
197 margin: 10px 0 0 20px;
197 margin: 10px 0 0 20px;
198 width: 95%;
198 width: 95%;
199 border-collapse: collapse;
199 border-collapse: collapse;
200 }
200 }
201 table tr td {
201 table tr td {
202 font-size: 1.1em;
202 font-size: 1.1em;
203 }
203 }
204 table tr td.nowrap {
204 table tr td.nowrap {
205 white-space: nowrap;
205 white-space: nowrap;
206 }
206 }
207 table tr td.closed {
207 table tr td.closed {
208 background-color: #99f;
208 background-color: #99f;
209 }
209 }
210 /*
210 /*
211 table tr.parity0:hover,
211 table tr.parity0:hover,
212 table tr.parity1:hover {
212 table tr.parity1:hover {
213 background: #D5E1E6;
213 background: #D5E1E6;
214 }
214 }
215 */
215 */
216 table tr.parity0 {
216 table tr.parity0 {
217 background: #F1F6F7;
217 background: #F1F6F7;
218 }
218 }
219 table tr.parity1 {
219 table tr.parity1 {
220 background: #FFFFFF;
220 background: #FFFFFF;
221 }
221 }
222 table tr td {
222 table tr td {
223 padding: 5px 5px;
223 padding: 5px 5px;
224 }
224 }
225 table.annotated tr td {
225 table.annotated tr td {
226 padding: 0px 5px;
226 padding: 0px 5px;
227 }
227 }
228
228
229 span.logtags span {
229 span.logtags span {
230 padding: 2px 6px;
230 padding: 2px 6px;
231 font-weight: normal;
231 font-weight: normal;
232 font-size: 11px;
232 font-size: 11px;
233 border: 1px solid;
233 border: 1px solid;
234 background-color: #ffaaff;
234 background-color: #ffaaff;
235 border-color: #ffccff #ff00ee #ff00ee #ffccff;
235 border-color: #ffccff #ff00ee #ff00ee #ffccff;
236 }
236 }
237 span.logtags span.tagtag {
237 span.logtags span.tagtag {
238 background-color: #ffffaa;
238 background-color: #ffffaa;
239 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
239 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
240 }
240 }
241 span.logtags span.branchtag {
241 span.logtags span.branchtag {
242 background-color: #aaffaa;
242 background-color: #aaffaa;
243 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
243 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
244 }
244 }
245 span.logtags span.inbranchtag {
245 span.logtags span.inbranchtag {
246 background-color: #d5dde6;
246 background-color: #d5dde6;
247 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
247 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
248 }
248 }
249 span.logtags span.bookmarktag {
249 span.logtags span.bookmarktag {
250 background-color: #afdffa;
250 background-color: #afdffa;
251 border-color: #ccecff #46ace6 #46ace6 #ccecff;
251 border-color: #ccecff #46ace6 #46ace6 #ccecff;
252 }
252 }
253
253
254 div.diff pre {
254 div.diff pre {
255 margin: 10px 0 0 0;
255 margin: 10px 0 0 0;
256 }
256 }
257 div.diff pre span {
257 div.diff pre span {
258 font-family: monospace;
258 font-family: monospace;
259 white-space: pre;
259 white-space: pre;
260 font-size: 1.2em;
260 font-size: 1.2em;
261 padding: 3px 0;
261 padding: 3px 0;
262 }
262 }
263 td.source {
263 td.source {
264 white-space: pre;
264 white-space: pre;
265 font-family: monospace;
265 font-family: monospace;
266 margin: 10px 30px 0;
266 margin: 10px 30px 0;
267 font-size: 1.2em;
267 font-size: 1.2em;
268 font-family: monospace;
268 font-family: monospace;
269 }
269 }
270 div.source div.parity0,
270 div.source div.parity0,
271 div.source div.parity1 {
271 div.source div.parity1 {
272 padding: 1px;
272 padding: 1px;
273 font-size: 1.2em;
273 font-size: 1.2em;
274 }
274 }
275 div.source div.parity0 {
275 div.source div.parity0 {
276 background: #F1F6F7;
276 background: #F1F6F7;
277 }
277 }
278 div.source div.parity1 {
278 div.source div.parity1 {
279 background: #FFFFFF;
279 background: #FFFFFF;
280 }
280 }
281 div.parity0:hover,
281 div.parity0:hover,
282 div.parity1:hover {
282 div.parity1:hover {
283 background: #D5E1E6;
283 background: #D5E1E6;
284 }
284 }
285 .linenr {
285 .linenr {
286 color: #999;
286 color: #999;
287 text-align: right;
287 text-align: right;
288 }
288 }
289 .lineno {
289 .lineno {
290 text-align: right;
290 text-align: right;
291 }
291 }
292 .lineno a {
292 .lineno a {
293 color: #999;
293 color: #999;
294 }
294 }
295 td.linenr {
295 td.linenr {
296 width: 60px;
296 width: 60px;
297 }
297 }
298
298
299 div#powered-by {
299 div#powered-by {
300 position: absolute;
300 position: absolute;
301 width: 75px;
301 width: 75px;
302 top: 15px;
302 top: 15px;
303 right: 20px;
303 right: 20px;
304 font-size: 1.2em;
304 font-size: 1.2em;
305 }
305 }
306 div#powered-by a {
306 div#powered-by a {
307 color: #EEE;
307 color: #EEE;
308 text-decoration: none;
308 text-decoration: none;
309 }
309 }
310 div#powered-by a:hover {
310 div#powered-by a:hover {
311 text-decoration: underline;
311 text-decoration: underline;
312 }
312 }
313 /*
313 /*
314 div#monoblue-corner-top-left {
314 div#monoblue-corner-top-left {
315 position: absolute;
315 position: absolute;
316 top: 0;
316 top: 0;
317 left: 0;
317 left: 0;
318 width: 10px;
318 width: 10px;
319 height: 10px;
319 height: 10px;
320 background: url(./monoblue-corner.png) top left no-repeat !important;
320 background: url(./monoblue-corner.png) top left no-repeat !important;
321 background: none;
321 background: none;
322 }
322 }
323 div#monoblue-corner-top-right {
323 div#monoblue-corner-top-right {
324 position: absolute;
324 position: absolute;
325 top: 0;
325 top: 0;
326 right: 0;
326 right: 0;
327 width: 10px;
327 width: 10px;
328 height: 10px;
328 height: 10px;
329 background: url(./monoblue-corner.png) top right no-repeat !important;
329 background: url(./monoblue-corner.png) top right no-repeat !important;
330 background: none;
330 background: none;
331 }
331 }
332 div#monoblue-corner-bottom-left {
332 div#monoblue-corner-bottom-left {
333 position: absolute;
333 position: absolute;
334 bottom: 0;
334 bottom: 0;
335 left: 0;
335 left: 0;
336 width: 10px;
336 width: 10px;
337 height: 10px;
337 height: 10px;
338 background: url(./monoblue-corner.png) bottom left no-repeat !important;
338 background: url(./monoblue-corner.png) bottom left no-repeat !important;
339 background: none;
339 background: none;
340 }
340 }
341 div#monoblue-corner-bottom-right {
341 div#monoblue-corner-bottom-right {
342 position: absolute;
342 position: absolute;
343 bottom: 0;
343 bottom: 0;
344 right: 0;
344 right: 0;
345 width: 10px;
345 width: 10px;
346 height: 10px;
346 height: 10px;
347 background: url(./monoblue-corner.png) bottom right no-repeat !important;
347 background: url(./monoblue-corner.png) bottom right no-repeat !important;
348 background: none;
348 background: none;
349 }
349 }
350 */
350 */
351 /** end of common settings **/
351 /** end of common settings **/
352
352
353 /** summary **/
353 /** summary **/
354 dl.overview {
354 dl.overview {
355 margin: 0 0 0 30px;
355 margin: 0 0 0 30px;
356 font-size: 1.1em;
356 font-size: 1.1em;
357 overflow: hidden;
357 overflow: hidden;
358 }
358 }
359 dl.overview dt,
359 dl.overview dt,
360 dl.overview dd {
360 dl.overview dd {
361 margin: 5px 0;
361 margin: 5px 0;
362 float: left;
362 float: left;
363 }
363 }
364 dl.overview dt {
364 dl.overview dt {
365 clear: left;
365 clear: left;
366 font-weight: bold;
366 font-weight: bold;
367 width: 150px;
367 width: 150px;
368 }
368 }
369 /** end of summary **/
369 /** end of summary **/
370
370
371 /** chagelog **/
371 /** chagelog **/
372 h3.changelog {
372 h3.changelog {
373 margin: 20px 0 5px 30px;
373 margin: 20px 0 5px 30px;
374 padding: 0 0 2px;
374 padding: 0 0 2px;
375 font-size: 1.4em;
375 font-size: 1.4em;
376 border-bottom: dotted 1px #D5E1E6;
376 border-bottom: dotted 1px #D5E1E6;
377 }
377 }
378 ul.changelog-entry {
378 ul.changelog-entry {
379 margin: 0 0 10px 30px;
379 margin: 0 0 10px 30px;
380 list-style-type: none;
380 list-style-type: none;
381 position: relative;
381 position: relative;
382 }
382 }
383 ul.changelog-entry li span.revdate {
383 ul.changelog-entry li span.revdate {
384 font-size: 1.1em;
384 font-size: 1.1em;
385 }
385 }
386 ul.changelog-entry li.age {
386 ul.changelog-entry li.age {
387 position: absolute;
387 position: absolute;
388 top: -25px;
388 top: -25px;
389 right: 10px;
389 right: 10px;
390 font-size: 1.4em;
390 font-size: 1.4em;
391 color: #CCC;
391 color: #CCC;
392 font-weight: bold;
392 font-weight: bold;
393 font-style: italic;
393 font-style: italic;
394 }
394 }
395 ul.changelog-entry li span.name {
395 ul.changelog-entry li span.name {
396 font-size: 1.2em;
396 font-size: 1.2em;
397 font-weight: bold;
397 font-weight: bold;
398 }
398 }
399 ul.changelog-entry li.description {
399 ul.changelog-entry li.description {
400 margin: 10px 0 0;
400 margin: 10px 0 0;
401 font-size: 1.1em;
401 font-size: 1.1em;
402 }
402 }
403 /** end of changelog **/
403 /** end of changelog **/
404
404
405 /** file **/
405 /** file **/
406 p.files {
406 p.files {
407 margin: 0 0 0 20px;
407 margin: 0 0 0 20px;
408 font-size: 2.0em;
408 font-size: 2.0em;
409 font-weight: bold;
409 font-weight: bold;
410 }
410 }
411 /** end of file **/
411 /** end of file **/
412
412
413 /** changeset **/
413 /** changeset **/
414 h3.changeset {
414 h3.changeset {
415 margin: 20px 0 5px 20px;
415 margin: 20px 0 5px 20px;
416 padding: 0 0 2px;
416 padding: 0 0 2px;
417 font-size: 1.6em;
417 font-size: 1.6em;
418 border-bottom: dotted 1px #D5E1E6;
418 border-bottom: dotted 1px #D5E1E6;
419 }
419 }
420 p.changeset-age {
420 p.changeset-age {
421 position: relative;
421 position: relative;
422 }
422 }
423 p.changeset-age span {
423 p.changeset-age span {
424 position: absolute;
424 position: absolute;
425 top: -25px;
425 top: -25px;
426 right: 10px;
426 right: 10px;
427 font-size: 1.4em;
427 font-size: 1.4em;
428 color: #CCC;
428 color: #CCC;
429 font-weight: bold;
429 font-weight: bold;
430 font-style: italic;
430 font-style: italic;
431 }
431 }
432 p.description {
432 p.description {
433 margin: 10px 30px 0 30px;
433 margin: 10px 30px 0 30px;
434 padding: 10px;
434 padding: 10px;
435 border: solid 1px #CCC;
435 border: solid 1px #CCC;
436 font-size: 1.2em;
436 font-size: 1.2em;
437 }
437 }
438 /** end of changeset **/
438 /** end of changeset **/
439
439
440 /** canvas **/
440 /** canvas **/
441 div#wrapper {
441 div#wrapper {
442 position: relative;
442 position: relative;
443 font-size: 1.2em;
443 font-size: 1.2em;
444 }
444 }
445
445
446 canvas {
446 canvas {
447 position: absolute;
447 position: absolute;
448 z-index: 5;
448 z-index: 5;
449 top: -0.7em;
449 top: -0.7em;
450 }
450 }
451
451
452 ul#nodebgs li.parity0 {
452 ul#nodebgs li.parity0 {
453 background: #F1F6F7;
453 background: #F1F6F7;
454 }
454 }
455
455
456 ul#nodebgs li.parity1 {
456 ul#nodebgs li.parity1 {
457 background: #FFFFFF;
457 background: #FFFFFF;
458 }
458 }
459
459
460 ul#graphnodes {
460 ul#graphnodes {
461 position: absolute;
461 position: absolute;
462 z-index: 10;
462 z-index: 10;
463 top: 7px;
463 top: 7px;
464 list-style: none inside none;
464 list-style: none inside none;
465 }
465 }
466
466
467 ul#nodebgs {
467 ul#nodebgs {
468 list-style: none inside none;
468 list-style: none inside none;
469 }
469 }
470
470
471 ul#graphnodes li, ul#nodebgs li {
471 ul#graphnodes li, ul#nodebgs li {
472 height: 39px;
472 height: 39px;
473 }
473 }
474
474
475 ul#graphnodes li .info {
475 ul#graphnodes li .info {
476 display: block;
476 display: block;
477 position: relative;
477 position: relative;
478 }
478 }
479 /** end of canvas **/
479 /** end of canvas **/
480
480
481 /** comparison **/
481 /** comparison **/
482 .legend {
482 .legend {
483 margin-left: 20px;
483 margin-left: 20px;
484 padding: 1.5% 0 1.5% 0;
484 padding: 1.5% 0 1.5% 0;
485 }
485 }
486
486
487 .legendinfo {
487 .legendinfo {
488 border: 1px solid #999;
488 border: 1px solid #999;
489 font-size: 80%;
489 font-size: 80%;
490 text-align: center;
490 text-align: center;
491 padding: 0.5%;
491 padding: 0.5%;
492 }
492 }
493
493
494 .equal {
494 .equal {
495 background-color: #ffffff;
495 background-color: #ffffff;
496 }
496 }
497
497
498 .delete {
498 .delete {
499 background-color: #ffc5ce;
499 background-color: #faa;
500 color: #333;
500 }
501 }
501
502
502 .insert {
503 .insert {
503 background-color: #c5ffc4;
504 background-color: #ffa;
504 }
505 }
505
506
506 .replace {
507 .replace {
507 background-color: #ffff99;
508 background-color: #e8e8e8;
508 }
509 }
509
510
510 .comparison {
511 .comparison {
511 overflow-x: auto;
512 overflow-x: auto;
512 }
513 }
513
514
514 .comparison table td {
515 .comparison table td {
515 padding: 0px 5px;
516 padding: 0px 5px;
516 }
517 }
517
518
518 .header th {
519 .header th {
519 font-weight: bold;
520 font-weight: bold;
520 }
521 }
521
522
522 .block {
523 .block {
523 border-top: 1px solid #999;
524 border-top: 1px solid #999;
524 }
525 }
525 /** end of comparison **/
526 /** end of comparison **/
@@ -1,313 +1,314 b''
1 body {
1 body {
2 margin: 0;
2 margin: 0;
3 padding: 0;
3 padding: 0;
4 background: white;
4 background: white;
5 font-family: sans-serif;
5 font-family: sans-serif;
6 }
6 }
7
7
8 .container {
8 .container {
9 padding-left: 115px;
9 padding-left: 115px;
10 }
10 }
11
11
12 .main {
12 .main {
13 position: relative;
13 position: relative;
14 background: white;
14 background: white;
15 padding: 2em 2em 2em 0;
15 padding: 2em 2em 2em 0;
16 }
16 }
17
17
18 #.main {
18 #.main {
19 width: 98%;
19 width: 98%;
20 }
20 }
21
21
22 .overflow {
22 .overflow {
23 width: 100%;
23 width: 100%;
24 overflow: auto;
24 overflow: auto;
25 }
25 }
26
26
27 .menu {
27 .menu {
28 width: 90px;
28 width: 90px;
29 margin: 0;
29 margin: 0;
30 font-size: 80%;
30 font-size: 80%;
31 text-align: left;
31 text-align: left;
32 position: absolute;
32 position: absolute;
33 top: 20px;
33 top: 20px;
34 left: 20px;
34 left: 20px;
35 right: auto;
35 right: auto;
36 }
36 }
37
37
38 .menu ul {
38 .menu ul {
39 list-style: none;
39 list-style: none;
40 padding: 0;
40 padding: 0;
41 margin: 10px 0 0 0;
41 margin: 10px 0 0 0;
42 border-left: 2px solid #999;
42 border-left: 2px solid #999;
43 }
43 }
44
44
45 .menu li {
45 .menu li {
46 margin-bottom: 3px;
46 margin-bottom: 3px;
47 padding: 2px 4px;
47 padding: 2px 4px;
48 background: white;
48 background: white;
49 color: black;
49 color: black;
50 font-weight: normal;
50 font-weight: normal;
51 }
51 }
52
52
53 .menu li.active {
53 .menu li.active {
54 font-weight: bold;
54 font-weight: bold;
55 }
55 }
56
56
57 .menu img {
57 .menu img {
58 width: 75px;
58 width: 75px;
59 height: 90px;
59 height: 90px;
60 border: 0;
60 border: 0;
61 }
61 }
62
62
63 .menu a { color: black; display: block; }
63 .menu a { color: black; display: block; }
64
64
65 .search {
65 .search {
66 position: absolute;
66 position: absolute;
67 top: .7em;
67 top: .7em;
68 right: 2em;
68 right: 2em;
69 }
69 }
70
70
71 form.search div#hint {
71 form.search div#hint {
72 display: none;
72 display: none;
73 position: absolute;
73 position: absolute;
74 top: 40px;
74 top: 40px;
75 right: 0px;
75 right: 0px;
76 width: 190px;
76 width: 190px;
77 padding: 5px;
77 padding: 5px;
78 background: #ffc;
78 background: #ffc;
79 font-size: 70%;
79 font-size: 70%;
80 border: 1px solid yellow;
80 border: 1px solid yellow;
81 -moz-border-radius: 5px; /* this works only in camino/firefox */
81 -moz-border-radius: 5px; /* this works only in camino/firefox */
82 -webkit-border-radius: 5px; /* this is just for Safari */
82 -webkit-border-radius: 5px; /* this is just for Safari */
83 }
83 }
84
84
85 form.search:hover div#hint { display: block; }
85 form.search:hover div#hint { display: block; }
86
86
87 a { text-decoration:none; }
87 a { text-decoration:none; }
88 .age { white-space:nowrap; }
88 .age { white-space:nowrap; }
89 .date { white-space:nowrap; }
89 .date { white-space:nowrap; }
90 .indexlinks { white-space:nowrap; }
90 .indexlinks { white-space:nowrap; }
91 .parity0 { background-color: #f0f0f0; }
91 .parity0 { background-color: #f0f0f0; }
92 .parity1 { background-color: white; }
92 .parity1 { background-color: white; }
93 .plusline { color: green; }
93 .plusline { color: green; }
94 .minusline { color: #dc143c; } /* crimson */
94 .minusline { color: #dc143c; } /* crimson */
95 .atline { color: purple; }
95 .atline { color: purple; }
96
96
97 .diffstat-file {
97 .diffstat-file {
98 white-space: nowrap;
98 white-space: nowrap;
99 font-size: 90%;
99 font-size: 90%;
100 }
100 }
101 .diffstat-total {
101 .diffstat-total {
102 white-space: nowrap;
102 white-space: nowrap;
103 font-size: 90%;
103 font-size: 90%;
104 }
104 }
105 .diffstat-graph {
105 .diffstat-graph {
106 width: 100%;
106 width: 100%;
107 }
107 }
108 .diffstat-add {
108 .diffstat-add {
109 background-color: green;
109 background-color: green;
110 float: left;
110 float: left;
111 }
111 }
112 .diffstat-remove {
112 .diffstat-remove {
113 background-color: red;
113 background-color: red;
114 float: left;
114 float: left;
115 }
115 }
116
116
117 .navigate {
117 .navigate {
118 text-align: right;
118 text-align: right;
119 font-size: 60%;
119 font-size: 60%;
120 margin: 1em 0;
120 margin: 1em 0;
121 }
121 }
122
122
123 .tag {
123 .tag {
124 color: #999;
124 color: #999;
125 font-size: 70%;
125 font-size: 70%;
126 font-weight: normal;
126 font-weight: normal;
127 margin-left: .5em;
127 margin-left: .5em;
128 vertical-align: baseline;
128 vertical-align: baseline;
129 }
129 }
130
130
131 .branchhead {
131 .branchhead {
132 color: #000;
132 color: #000;
133 font-size: 80%;
133 font-size: 80%;
134 font-weight: normal;
134 font-weight: normal;
135 margin-left: .5em;
135 margin-left: .5em;
136 vertical-align: baseline;
136 vertical-align: baseline;
137 }
137 }
138
138
139 ul#graphnodes .branchhead {
139 ul#graphnodes .branchhead {
140 font-size: 75%;
140 font-size: 75%;
141 }
141 }
142
142
143 .branchname {
143 .branchname {
144 color: #000;
144 color: #000;
145 font-size: 60%;
145 font-size: 60%;
146 font-weight: normal;
146 font-weight: normal;
147 margin-left: .5em;
147 margin-left: .5em;
148 vertical-align: baseline;
148 vertical-align: baseline;
149 }
149 }
150
150
151 h3 .branchname {
151 h3 .branchname {
152 font-size: 80%;
152 font-size: 80%;
153 }
153 }
154
154
155 /* Common */
155 /* Common */
156 pre { margin: 0; }
156 pre { margin: 0; }
157
157
158 h2 { font-size: 120%; border-bottom: 1px solid #999; }
158 h2 { font-size: 120%; border-bottom: 1px solid #999; }
159 h2 a { color: #000; }
159 h2 a { color: #000; }
160 h3 {
160 h3 {
161 margin-top: -.7em;
161 margin-top: -.7em;
162 font-size: 100%;
162 font-size: 100%;
163 }
163 }
164
164
165 /* log and tags tables */
165 /* log and tags tables */
166 .bigtable {
166 .bigtable {
167 border-bottom: 1px solid #999;
167 border-bottom: 1px solid #999;
168 border-collapse: collapse;
168 border-collapse: collapse;
169 font-size: 90%;
169 font-size: 90%;
170 width: 100%;
170 width: 100%;
171 font-weight: normal;
171 font-weight: normal;
172 text-align: left;
172 text-align: left;
173 }
173 }
174
174
175 .bigtable td {
175 .bigtable td {
176 vertical-align: top;
176 vertical-align: top;
177 }
177 }
178
178
179 .bigtable th {
179 .bigtable th {
180 padding: 1px 4px;
180 padding: 1px 4px;
181 border-bottom: 1px solid #999;
181 border-bottom: 1px solid #999;
182 }
182 }
183 .bigtable tr { border: none; }
183 .bigtable tr { border: none; }
184 .bigtable .age { width: 7em; }
184 .bigtable .age { width: 7em; }
185 .bigtable .author { width: 12em; }
185 .bigtable .author { width: 12em; }
186 .bigtable .description { }
186 .bigtable .description { }
187 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
187 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
188 .bigtable .node { width: 5em; font-family: monospace;}
188 .bigtable .node { width: 5em; font-family: monospace;}
189 .bigtable .permissions { width: 8em; text-align: left;}
189 .bigtable .permissions { width: 8em; text-align: left;}
190 .bigtable .size { width: 5em; text-align: right; }
190 .bigtable .size { width: 5em; text-align: right; }
191 .bigtable .annotate { text-align: right; }
191 .bigtable .annotate { text-align: right; }
192 .bigtable td.annotate { font-size: smaller; }
192 .bigtable td.annotate { font-size: smaller; }
193 .bigtable td.source { font-size: inherit; }
193 .bigtable td.source { font-size: inherit; }
194
194
195 .source, .sourcefirst, .sourcelast {
195 .source, .sourcefirst, .sourcelast {
196 font-family: monospace;
196 font-family: monospace;
197 white-space: pre;
197 white-space: pre;
198 padding: 1px 4px;
198 padding: 1px 4px;
199 font-size: 90%;
199 font-size: 90%;
200 }
200 }
201 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
201 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
202 .sourcelast { border-top: 1px solid #999; }
202 .sourcelast { border-top: 1px solid #999; }
203 .source a { color: #999; font-size: smaller; font-family: monospace;}
203 .source a { color: #999; font-size: smaller; font-family: monospace;}
204 .bottomline { border-bottom: 1px solid #999; }
204 .bottomline { border-bottom: 1px solid #999; }
205
205
206 .fileline { font-family: monospace; }
206 .fileline { font-family: monospace; }
207 .fileline img { border: 0; }
207 .fileline img { border: 0; }
208
208
209 .tagEntry .closed { color: #99f; }
209 .tagEntry .closed { color: #99f; }
210
210
211 /* Changeset entry */
211 /* Changeset entry */
212 #changesetEntry {
212 #changesetEntry {
213 border-collapse: collapse;
213 border-collapse: collapse;
214 font-size: 90%;
214 font-size: 90%;
215 width: 100%;
215 width: 100%;
216 margin-bottom: 1em;
216 margin-bottom: 1em;
217 }
217 }
218
218
219 #changesetEntry th {
219 #changesetEntry th {
220 padding: 1px 4px;
220 padding: 1px 4px;
221 width: 4em;
221 width: 4em;
222 text-align: right;
222 text-align: right;
223 font-weight: normal;
223 font-weight: normal;
224 color: #999;
224 color: #999;
225 margin-right: .5em;
225 margin-right: .5em;
226 vertical-align: top;
226 vertical-align: top;
227 }
227 }
228
228
229 div.description {
229 div.description {
230 border-left: 2px solid #999;
230 border-left: 2px solid #999;
231 margin: 1em 0 1em 0;
231 margin: 1em 0 1em 0;
232 padding: .3em;
232 padding: .3em;
233 white-space: pre;
233 white-space: pre;
234 font-family: monospace;
234 font-family: monospace;
235 }
235 }
236
236
237 /* Graph */
237 /* Graph */
238 div#wrapper {
238 div#wrapper {
239 position: relative;
239 position: relative;
240 border-top: 1px solid black;
240 border-top: 1px solid black;
241 border-bottom: 1px solid black;
241 border-bottom: 1px solid black;
242 margin: 0;
242 margin: 0;
243 padding: 0;
243 padding: 0;
244 }
244 }
245
245
246 canvas {
246 canvas {
247 position: absolute;
247 position: absolute;
248 z-index: 5;
248 z-index: 5;
249 top: -0.7em;
249 top: -0.7em;
250 margin: 0;
250 margin: 0;
251 }
251 }
252
252
253 ul#graphnodes {
253 ul#graphnodes {
254 position: absolute;
254 position: absolute;
255 z-index: 10;
255 z-index: 10;
256 top: -1.0em;
256 top: -1.0em;
257 list-style: none inside none;
257 list-style: none inside none;
258 padding: 0;
258 padding: 0;
259 }
259 }
260
260
261 ul#nodebgs {
261 ul#nodebgs {
262 list-style: none inside none;
262 list-style: none inside none;
263 padding: 0;
263 padding: 0;
264 margin: 0;
264 margin: 0;
265 top: -0.7em;
265 top: -0.7em;
266 }
266 }
267
267
268 ul#graphnodes li, ul#nodebgs li {
268 ul#graphnodes li, ul#nodebgs li {
269 height: 39px;
269 height: 39px;
270 }
270 }
271
271
272 ul#graphnodes li .info {
272 ul#graphnodes li .info {
273 display: block;
273 display: block;
274 font-size: 70%;
274 font-size: 70%;
275 position: relative;
275 position: relative;
276 top: -3px;
276 top: -3px;
277 }
277 }
278
278
279 /* Comparison */
279 /* Comparison */
280 .legend {
280 .legend {
281 padding: 1.5% 0 1.5% 0;
281 padding: 1.5% 0 1.5% 0;
282 }
282 }
283
283
284 .legendinfo {
284 .legendinfo {
285 border: 1px solid #999;
285 border: 1px solid #999;
286 font-size: 80%;
286 font-size: 80%;
287 text-align: center;
287 text-align: center;
288 padding: 0.5%;
288 padding: 0.5%;
289 }
289 }
290
290
291 .equal {
291 .equal {
292 background-color: #ffffff;
292 background-color: #ffffff;
293 }
293 }
294
294
295 .delete {
295 .delete {
296 background-color: #ffc5ce;
296 background-color: #faa;
297 color: #333;
297 }
298 }
298
299
299 .insert {
300 .insert {
300 background-color: #c5ffc4;
301 background-color: #ffa;
301 }
302 }
302
303
303 .replace {
304 .replace {
304 background-color: #ffff99;
305 background-color: #e8e8e8;
305 }
306 }
306
307
307 .header {
308 .header {
308 text-align: center;
309 text-align: center;
309 }
310 }
310
311
311 .block {
312 .block {
312 border-top: 1px solid #999;
313 border-top: 1px solid #999;
313 }
314 }
@@ -1,487 +1,488 b''
1 $ "$TESTDIR/hghave" serve || exit 80
1 $ "$TESTDIR/hghave" serve || exit 80
2
2
3 Some tests for hgweb. Tests static files, plain files and different 404's.
3 Some tests for hgweb. Tests static files, plain files and different 404's.
4
4
5 $ hg init test
5 $ hg init test
6 $ cd test
6 $ cd test
7 $ mkdir da
7 $ mkdir da
8 $ echo foo > da/foo
8 $ echo foo > da/foo
9 $ echo foo > foo
9 $ echo foo > foo
10 $ hg ci -Ambase
10 $ hg ci -Ambase
11 adding da/foo
11 adding da/foo
12 adding foo
12 adding foo
13 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
13 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
14 $ cat hg.pid >> $DAEMON_PIDS
14 $ cat hg.pid >> $DAEMON_PIDS
15
15
16 manifest
16 manifest
17
17
18 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=raw')
18 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=raw')
19 200 Script output follows
19 200 Script output follows
20
20
21
21
22 drwxr-xr-x da
22 drwxr-xr-x da
23 -rw-r--r-- 4 foo
23 -rw-r--r-- 4 foo
24
24
25
25
26 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/da?style=raw')
26 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/da?style=raw')
27 200 Script output follows
27 200 Script output follows
28
28
29
29
30 -rw-r--r-- 4 foo
30 -rw-r--r-- 4 foo
31
31
32
32
33
33
34 plain file
34 plain file
35
35
36 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?style=raw'
36 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?style=raw'
37 200 Script output follows
37 200 Script output follows
38
38
39 foo
39 foo
40
40
41 should give a 404 - static file that does not exist
41 should give a 404 - static file that does not exist
42
42
43 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'static/bogus'
43 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'static/bogus'
44 404 Not Found
44 404 Not Found
45
45
46 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
46 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
47 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
47 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
48 <head>
48 <head>
49 <link rel="icon" href="/static/hgicon.png" type="image/png" />
49 <link rel="icon" href="/static/hgicon.png" type="image/png" />
50 <meta name="robots" content="index, nofollow" />
50 <meta name="robots" content="index, nofollow" />
51 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
51 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
52 <script type="text/javascript" src="/static/mercurial.js"></script>
52 <script type="text/javascript" src="/static/mercurial.js"></script>
53
53
54 <title>test: error</title>
54 <title>test: error</title>
55 </head>
55 </head>
56 <body>
56 <body>
57
57
58 <div class="container">
58 <div class="container">
59 <div class="menu">
59 <div class="menu">
60 <div class="logo">
60 <div class="logo">
61 <a href="http://mercurial.selenic.com/">
61 <a href="http://mercurial.selenic.com/">
62 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
62 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
63 </div>
63 </div>
64 <ul>
64 <ul>
65 <li><a href="/shortlog">log</a></li>
65 <li><a href="/shortlog">log</a></li>
66 <li><a href="/graph">graph</a></li>
66 <li><a href="/graph">graph</a></li>
67 <li><a href="/tags">tags</a></li>
67 <li><a href="/tags">tags</a></li>
68 <li><a href="/bookmarks">bookmarks</a></li>
68 <li><a href="/bookmarks">bookmarks</a></li>
69 <li><a href="/branches">branches</a></li>
69 <li><a href="/branches">branches</a></li>
70 <li><a href="/help">help</a></li>
70 <li><a href="/help">help</a></li>
71 </ul>
71 </ul>
72 </div>
72 </div>
73
73
74 <div class="main">
74 <div class="main">
75
75
76 <h2><a href="/">test</a></h2>
76 <h2><a href="/">test</a></h2>
77 <h3>error</h3>
77 <h3>error</h3>
78
78
79 <form class="search" action="/log">
79 <form class="search" action="/log">
80
80
81 <p><input name="rev" id="search1" type="text" size="30"></p>
81 <p><input name="rev" id="search1" type="text" size="30"></p>
82 <div id="hint">find changesets by author, revision,
82 <div id="hint">find changesets by author, revision,
83 files, or words in the commit message</div>
83 files, or words in the commit message</div>
84 </form>
84 </form>
85
85
86 <div class="description">
86 <div class="description">
87 <p>
87 <p>
88 An error occurred while processing your request:
88 An error occurred while processing your request:
89 </p>
89 </p>
90 <p>
90 <p>
91 Not Found
91 Not Found
92 </p>
92 </p>
93 </div>
93 </div>
94 </div>
94 </div>
95 </div>
95 </div>
96
96
97 <script type="text/javascript">process_dates()</script>
97 <script type="text/javascript">process_dates()</script>
98
98
99
99
100 </body>
100 </body>
101 </html>
101 </html>
102
102
103 [1]
103 [1]
104
104
105 should give a 404 - bad revision
105 should give a 404 - bad revision
106
106
107 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/spam/foo?style=raw'
107 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/spam/foo?style=raw'
108 404 Not Found
108 404 Not Found
109
109
110
110
111 error: revision not found: spam
111 error: revision not found: spam
112 [1]
112 [1]
113
113
114 should give a 400 - bad command
114 should give a 400 - bad command
115
115
116 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?cmd=spam&style=raw'
116 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?cmd=spam&style=raw'
117 400* (glob)
117 400* (glob)
118
118
119
119
120 error: no such method: spam
120 error: no such method: spam
121 [1]
121 [1]
122
122
123 should give a 404 - file does not exist
123 should give a 404 - file does not exist
124
124
125 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork?style=raw'
125 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork?style=raw'
126 404 Not Found
126 404 Not Found
127
127
128
128
129 error: bork@2ef0ac749a14: not found in manifest
129 error: bork@2ef0ac749a14: not found in manifest
130 [1]
130 [1]
131 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork'
131 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork'
132 404 Not Found
132 404 Not Found
133
133
134 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
134 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
135 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
135 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
136 <head>
136 <head>
137 <link rel="icon" href="/static/hgicon.png" type="image/png" />
137 <link rel="icon" href="/static/hgicon.png" type="image/png" />
138 <meta name="robots" content="index, nofollow" />
138 <meta name="robots" content="index, nofollow" />
139 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
139 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
140 <script type="text/javascript" src="/static/mercurial.js"></script>
140 <script type="text/javascript" src="/static/mercurial.js"></script>
141
141
142 <title>test: error</title>
142 <title>test: error</title>
143 </head>
143 </head>
144 <body>
144 <body>
145
145
146 <div class="container">
146 <div class="container">
147 <div class="menu">
147 <div class="menu">
148 <div class="logo">
148 <div class="logo">
149 <a href="http://mercurial.selenic.com/">
149 <a href="http://mercurial.selenic.com/">
150 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
150 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
151 </div>
151 </div>
152 <ul>
152 <ul>
153 <li><a href="/shortlog">log</a></li>
153 <li><a href="/shortlog">log</a></li>
154 <li><a href="/graph">graph</a></li>
154 <li><a href="/graph">graph</a></li>
155 <li><a href="/tags">tags</a></li>
155 <li><a href="/tags">tags</a></li>
156 <li><a href="/bookmarks">bookmarks</a></li>
156 <li><a href="/bookmarks">bookmarks</a></li>
157 <li><a href="/branches">branches</a></li>
157 <li><a href="/branches">branches</a></li>
158 <li><a href="/help">help</a></li>
158 <li><a href="/help">help</a></li>
159 </ul>
159 </ul>
160 </div>
160 </div>
161
161
162 <div class="main">
162 <div class="main">
163
163
164 <h2><a href="/">test</a></h2>
164 <h2><a href="/">test</a></h2>
165 <h3>error</h3>
165 <h3>error</h3>
166
166
167 <form class="search" action="/log">
167 <form class="search" action="/log">
168
168
169 <p><input name="rev" id="search1" type="text" size="30"></p>
169 <p><input name="rev" id="search1" type="text" size="30"></p>
170 <div id="hint">find changesets by author, revision,
170 <div id="hint">find changesets by author, revision,
171 files, or words in the commit message</div>
171 files, or words in the commit message</div>
172 </form>
172 </form>
173
173
174 <div class="description">
174 <div class="description">
175 <p>
175 <p>
176 An error occurred while processing your request:
176 An error occurred while processing your request:
177 </p>
177 </p>
178 <p>
178 <p>
179 bork@2ef0ac749a14: not found in manifest
179 bork@2ef0ac749a14: not found in manifest
180 </p>
180 </p>
181 </div>
181 </div>
182 </div>
182 </div>
183 </div>
183 </div>
184
184
185 <script type="text/javascript">process_dates()</script>
185 <script type="text/javascript">process_dates()</script>
186
186
187
187
188 </body>
188 </body>
189 </html>
189 </html>
190
190
191 [1]
191 [1]
192 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/bork?style=raw'
192 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/bork?style=raw'
193 404 Not Found
193 404 Not Found
194
194
195
195
196 error: bork@2ef0ac749a14: not found in manifest
196 error: bork@2ef0ac749a14: not found in manifest
197 [1]
197 [1]
198
198
199 try bad style
199 try bad style
200
200
201 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=foobar')
201 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=foobar')
202 200 Script output follows
202 200 Script output follows
203
203
204 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
204 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
205 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
205 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
206 <head>
206 <head>
207 <link rel="icon" href="/static/hgicon.png" type="image/png" />
207 <link rel="icon" href="/static/hgicon.png" type="image/png" />
208 <meta name="robots" content="index, nofollow" />
208 <meta name="robots" content="index, nofollow" />
209 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
209 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
210 <script type="text/javascript" src="/static/mercurial.js"></script>
210 <script type="text/javascript" src="/static/mercurial.js"></script>
211
211
212 <title>test: 2ef0ac749a14 /</title>
212 <title>test: 2ef0ac749a14 /</title>
213 </head>
213 </head>
214 <body>
214 <body>
215
215
216 <div class="container">
216 <div class="container">
217 <div class="menu">
217 <div class="menu">
218 <div class="logo">
218 <div class="logo">
219 <a href="http://mercurial.selenic.com/">
219 <a href="http://mercurial.selenic.com/">
220 <img src="/static/hglogo.png" alt="mercurial" /></a>
220 <img src="/static/hglogo.png" alt="mercurial" /></a>
221 </div>
221 </div>
222 <ul>
222 <ul>
223 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
223 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
224 <li><a href="/graph/2ef0ac749a14">graph</a></li>
224 <li><a href="/graph/2ef0ac749a14">graph</a></li>
225 <li><a href="/tags">tags</a></li>
225 <li><a href="/tags">tags</a></li>
226 <li><a href="/bookmarks">bookmarks</a></li>
226 <li><a href="/bookmarks">bookmarks</a></li>
227 <li><a href="/branches">branches</a></li>
227 <li><a href="/branches">branches</a></li>
228 </ul>
228 </ul>
229 <ul>
229 <ul>
230 <li><a href="/rev/2ef0ac749a14">changeset</a></li>
230 <li><a href="/rev/2ef0ac749a14">changeset</a></li>
231 <li class="active">browse</li>
231 <li class="active">browse</li>
232 </ul>
232 </ul>
233 <ul>
233 <ul>
234
234
235 </ul>
235 </ul>
236 <ul>
236 <ul>
237 <li><a href="/help">help</a></li>
237 <li><a href="/help">help</a></li>
238 </ul>
238 </ul>
239 </div>
239 </div>
240
240
241 <div class="main">
241 <div class="main">
242 <h2><a href="/">test</a></h2>
242 <h2><a href="/">test</a></h2>
243 <h3>directory / @ 0:2ef0ac749a14 <span class="tag">tip</span> </h3>
243 <h3>directory / @ 0:2ef0ac749a14 <span class="tag">tip</span> </h3>
244
244
245 <form class="search" action="/log">
245 <form class="search" action="/log">
246
246
247 <p><input name="rev" id="search1" type="text" size="30" /></p>
247 <p><input name="rev" id="search1" type="text" size="30" /></p>
248 <div id="hint">find changesets by author, revision,
248 <div id="hint">find changesets by author, revision,
249 files, or words in the commit message</div>
249 files, or words in the commit message</div>
250 </form>
250 </form>
251
251
252 <table class="bigtable">
252 <table class="bigtable">
253 <tr>
253 <tr>
254 <th class="name">name</th>
254 <th class="name">name</th>
255 <th class="size">size</th>
255 <th class="size">size</th>
256 <th class="permissions">permissions</th>
256 <th class="permissions">permissions</th>
257 </tr>
257 </tr>
258 <tr class="fileline parity0">
258 <tr class="fileline parity0">
259 <td class="name"><a href="/file/2ef0ac749a14/">[up]</a></td>
259 <td class="name"><a href="/file/2ef0ac749a14/">[up]</a></td>
260 <td class="size"></td>
260 <td class="size"></td>
261 <td class="permissions">drwxr-xr-x</td>
261 <td class="permissions">drwxr-xr-x</td>
262 </tr>
262 </tr>
263
263
264 <tr class="fileline parity1">
264 <tr class="fileline parity1">
265 <td class="name">
265 <td class="name">
266 <a href="/file/2ef0ac749a14/da">
266 <a href="/file/2ef0ac749a14/da">
267 <img src="/static/coal-folder.png" alt="dir."/> da/
267 <img src="/static/coal-folder.png" alt="dir."/> da/
268 </a>
268 </a>
269 <a href="/file/2ef0ac749a14/da/">
269 <a href="/file/2ef0ac749a14/da/">
270
270
271 </a>
271 </a>
272 </td>
272 </td>
273 <td class="size"></td>
273 <td class="size"></td>
274 <td class="permissions">drwxr-xr-x</td>
274 <td class="permissions">drwxr-xr-x</td>
275 </tr>
275 </tr>
276
276
277 <tr class="fileline parity0">
277 <tr class="fileline parity0">
278 <td class="filename">
278 <td class="filename">
279 <a href="/file/2ef0ac749a14/foo">
279 <a href="/file/2ef0ac749a14/foo">
280 <img src="/static/coal-file.png" alt="file"/> foo
280 <img src="/static/coal-file.png" alt="file"/> foo
281 </a>
281 </a>
282 </td>
282 </td>
283 <td class="size">4</td>
283 <td class="size">4</td>
284 <td class="permissions">-rw-r--r--</td>
284 <td class="permissions">-rw-r--r--</td>
285 </tr>
285 </tr>
286 </table>
286 </table>
287 </div>
287 </div>
288 </div>
288 </div>
289 <script type="text/javascript">process_dates()</script>
289 <script type="text/javascript">process_dates()</script>
290
290
291
291
292 </body>
292 </body>
293 </html>
293 </html>
294
294
295
295
296 stop and restart
296 stop and restart
297
297
298 $ "$TESTDIR/killdaemons.py"
298 $ "$TESTDIR/killdaemons.py"
299 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log
299 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log
300 $ cat hg.pid >> $DAEMON_PIDS
300 $ cat hg.pid >> $DAEMON_PIDS
301
301
302 Test the access/error files are opened in append mode
302 Test the access/error files are opened in append mode
303
303
304 $ python -c "print len(file('access.log').readlines()), 'log lines written'"
304 $ python -c "print len(file('access.log').readlines()), 'log lines written'"
305 10 log lines written
305 10 log lines written
306
306
307 static file
307 static file
308
308
309 $ "$TESTDIR/get-with-headers.py" --twice localhost:$HGPORT 'static/style-gitweb.css'
309 $ "$TESTDIR/get-with-headers.py" --twice localhost:$HGPORT 'static/style-gitweb.css'
310 200 Script output follows
310 200 Script output follows
311
311
312 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
312 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
313 a { color:#0000cc; }
313 a { color:#0000cc; }
314 a:hover, a:visited, a:active { color:#880000; }
314 a:hover, a:visited, a:active { color:#880000; }
315 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
315 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
316 div.page_header a:visited { color:#0000cc; }
316 div.page_header a:visited { color:#0000cc; }
317 div.page_header a:hover { color:#880000; }
317 div.page_header a:hover { color:#880000; }
318 div.page_nav { padding:8px; }
318 div.page_nav { padding:8px; }
319 div.page_nav a:visited { color:#0000cc; }
319 div.page_nav a:visited { color:#0000cc; }
320 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
320 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
321 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
321 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
322 div.page_footer_text { float:left; color:#555555; font-style:italic; }
322 div.page_footer_text { float:left; color:#555555; font-style:italic; }
323 div.page_body { padding:8px; }
323 div.page_body { padding:8px; }
324 div.title, a.title {
324 div.title, a.title {
325 display:block; padding:6px 8px;
325 display:block; padding:6px 8px;
326 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
326 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
327 }
327 }
328 a.title:hover { background-color: #d9d8d1; }
328 a.title:hover { background-color: #d9d8d1; }
329 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
329 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
330 div.log_body { padding:8px 8px 8px 150px; }
330 div.log_body { padding:8px 8px 8px 150px; }
331 .age { white-space:nowrap; }
331 .age { white-space:nowrap; }
332 span.age { position:relative; float:left; width:142px; font-style:italic; }
332 span.age { position:relative; float:left; width:142px; font-style:italic; }
333 div.log_link {
333 div.log_link {
334 padding:0px 8px;
334 padding:0px 8px;
335 font-size:10px; font-family:sans-serif; font-style:normal;
335 font-size:10px; font-family:sans-serif; font-style:normal;
336 position:relative; float:left; width:136px;
336 position:relative; float:left; width:136px;
337 }
337 }
338 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
338 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
339 a.list { text-decoration:none; color:#000000; }
339 a.list { text-decoration:none; color:#000000; }
340 a.list:hover { text-decoration:underline; color:#880000; }
340 a.list:hover { text-decoration:underline; color:#880000; }
341 table { padding:8px 4px; }
341 table { padding:8px 4px; }
342 th { padding:2px 5px; font-size:12px; text-align:left; }
342 th { padding:2px 5px; font-size:12px; text-align:left; }
343 tr.light:hover, .parity0:hover { background-color:#edece6; }
343 tr.light:hover, .parity0:hover { background-color:#edece6; }
344 tr.dark, .parity1 { background-color:#f6f6f0; }
344 tr.dark, .parity1 { background-color:#f6f6f0; }
345 tr.dark:hover, .parity1:hover { background-color:#edece6; }
345 tr.dark:hover, .parity1:hover { background-color:#edece6; }
346 td { padding:2px 5px; font-size:12px; vertical-align:top; }
346 td { padding:2px 5px; font-size:12px; vertical-align:top; }
347 td.closed { background-color: #99f; }
347 td.closed { background-color: #99f; }
348 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
348 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
349 td.indexlinks { white-space: nowrap; }
349 td.indexlinks { white-space: nowrap; }
350 td.indexlinks a {
350 td.indexlinks a {
351 padding: 2px 5px; line-height: 10px;
351 padding: 2px 5px; line-height: 10px;
352 border: 1px solid;
352 border: 1px solid;
353 color: #ffffff; background-color: #7777bb;
353 color: #ffffff; background-color: #7777bb;
354 border-color: #aaaadd #333366 #333366 #aaaadd;
354 border-color: #aaaadd #333366 #333366 #aaaadd;
355 font-weight: bold; text-align: center; text-decoration: none;
355 font-weight: bold; text-align: center; text-decoration: none;
356 font-size: 10px;
356 font-size: 10px;
357 }
357 }
358 td.indexlinks a:hover { background-color: #6666aa; }
358 td.indexlinks a:hover { background-color: #6666aa; }
359 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
359 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
360 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
360 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
361 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
361 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
362 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
362 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
363 .linenr { color:#999999; text-decoration:none }
363 .linenr { color:#999999; text-decoration:none }
364 div.rss_logo { float: right; white-space: nowrap; }
364 div.rss_logo { float: right; white-space: nowrap; }
365 div.rss_logo a {
365 div.rss_logo a {
366 padding:3px 6px; line-height:10px;
366 padding:3px 6px; line-height:10px;
367 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
367 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
368 color:#ffffff; background-color:#ff6600;
368 color:#ffffff; background-color:#ff6600;
369 font-weight:bold; font-family:sans-serif; font-size:10px;
369 font-weight:bold; font-family:sans-serif; font-size:10px;
370 text-align:center; text-decoration:none;
370 text-align:center; text-decoration:none;
371 }
371 }
372 div.rss_logo a:hover { background-color:#ee5500; }
372 div.rss_logo a:hover { background-color:#ee5500; }
373 pre { margin: 0; }
373 pre { margin: 0; }
374 span.logtags span {
374 span.logtags span {
375 padding: 0px 4px;
375 padding: 0px 4px;
376 font-size: 10px;
376 font-size: 10px;
377 font-weight: normal;
377 font-weight: normal;
378 border: 1px solid;
378 border: 1px solid;
379 background-color: #ffaaff;
379 background-color: #ffaaff;
380 border-color: #ffccff #ff00ee #ff00ee #ffccff;
380 border-color: #ffccff #ff00ee #ff00ee #ffccff;
381 }
381 }
382 span.logtags span.tagtag {
382 span.logtags span.tagtag {
383 background-color: #ffffaa;
383 background-color: #ffffaa;
384 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
384 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
385 }
385 }
386 span.logtags span.branchtag {
386 span.logtags span.branchtag {
387 background-color: #aaffaa;
387 background-color: #aaffaa;
388 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
388 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
389 }
389 }
390 span.logtags span.inbranchtag {
390 span.logtags span.inbranchtag {
391 background-color: #d5dde6;
391 background-color: #d5dde6;
392 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
392 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
393 }
393 }
394 span.logtags span.bookmarktag {
394 span.logtags span.bookmarktag {
395 background-color: #afdffa;
395 background-color: #afdffa;
396 border-color: #ccecff #46ace6 #46ace6 #ccecff;
396 border-color: #ccecff #46ace6 #46ace6 #ccecff;
397 }
397 }
398
398
399 /* Graph */
399 /* Graph */
400 div#wrapper {
400 div#wrapper {
401 position: relative;
401 position: relative;
402 margin: 0;
402 margin: 0;
403 padding: 0;
403 padding: 0;
404 margin-top: 3px;
404 margin-top: 3px;
405 }
405 }
406
406
407 canvas {
407 canvas {
408 position: absolute;
408 position: absolute;
409 z-index: 5;
409 z-index: 5;
410 top: -0.9em;
410 top: -0.9em;
411 margin: 0;
411 margin: 0;
412 }
412 }
413
413
414 ul#nodebgs {
414 ul#nodebgs {
415 list-style: none inside none;
415 list-style: none inside none;
416 padding: 0;
416 padding: 0;
417 margin: 0;
417 margin: 0;
418 top: -0.7em;
418 top: -0.7em;
419 }
419 }
420
420
421 ul#graphnodes li, ul#nodebgs li {
421 ul#graphnodes li, ul#nodebgs li {
422 height: 39px;
422 height: 39px;
423 }
423 }
424
424
425 ul#graphnodes {
425 ul#graphnodes {
426 position: absolute;
426 position: absolute;
427 z-index: 10;
427 z-index: 10;
428 top: -0.8em;
428 top: -0.8em;
429 list-style: none inside none;
429 list-style: none inside none;
430 padding: 0;
430 padding: 0;
431 }
431 }
432
432
433 ul#graphnodes li .info {
433 ul#graphnodes li .info {
434 display: block;
434 display: block;
435 font-size: 100%;
435 font-size: 100%;
436 position: relative;
436 position: relative;
437 top: -3px;
437 top: -3px;
438 font-style: italic;
438 font-style: italic;
439 }
439 }
440
440
441 /* Comparison */
441 /* Comparison */
442 .legend {
442 .legend {
443 padding: 1.5% 0 1.5% 0;
443 padding: 1.5% 0 1.5% 0;
444 }
444 }
445
445
446 .legendinfo {
446 .legendinfo {
447 border: 1px solid #d9d8d1;
447 border: 1px solid #d9d8d1;
448 font-size: 80%;
448 font-size: 80%;
449 text-align: center;
449 text-align: center;
450 padding: 0.5%;
450 padding: 0.5%;
451 }
451 }
452
452
453 .equal {
453 .equal {
454 background-color: #ffffff;
454 background-color: #ffffff;
455 }
455 }
456
456
457 .delete {
457 .delete {
458 background-color: #ffc5ce;
458 background-color: #faa;
459 color: #333;
459 }
460 }
460
461
461 .insert {
462 .insert {
462 background-color: #c5ffc4;
463 background-color: #ffa;
463 }
464 }
464
465
465 .replace {
466 .replace {
466 background-color: #ffff99;
467 background-color: #e8e8e8;
467 }
468 }
468
469
469 .comparison {
470 .comparison {
470 overflow-x: auto;
471 overflow-x: auto;
471 }
472 }
472
473
473 .header th {
474 .header th {
474 text-align: center;
475 text-align: center;
475 }
476 }
476
477
477 .block {
478 .block {
478 border-top: 1px solid #d9d8d1;
479 border-top: 1px solid #d9d8d1;
479 }
480 }
480 304 Not Modified
481 304 Not Modified
481
482
482
483
483 errors
484 errors
484
485
485 $ cat errors.log
486 $ cat errors.log
486
487
487 $ cd ..
488 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now