##// END OF EJS Templates
hgweb: highlight line which is linked to at comparison view
Alexander Plavin -
r19459:fbfe5748 default
parent child Browse files
Show More
@@ -1,245 +1,245 b''
1 1 default = 'shortlog'
2 2
3 3 mimetype = 'text/html; charset={encoding}'
4 4 header = header.tmpl
5 5 footer = footer.tmpl
6 6 search = search.tmpl
7 7
8 8 changelog = shortlog.tmpl
9 9 shortlog = shortlog.tmpl
10 10 shortlogentry = shortlogentry.tmpl
11 11 graph = graph.tmpl
12 12 help = help.tmpl
13 13 helptopics = helptopics.tmpl
14 14
15 15 helpentry = '
16 16 <tr><td>
17 17 <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}">
18 18 {topic|escape}
19 19 </a>
20 20 </td><td>
21 21 {summary|escape}
22 22 </td></tr>'
23 23
24 24 naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
25 25 navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
26 26 navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
27 27 filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
28 28 filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
29 29 filenodelink = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
30 30 filenolink = '{file|escape} '
31 31 fileellipses = '...'
32 32 diffstatlink = diffstat.tmpl
33 33 diffstatnolink = diffstat.tmpl
34 34 changelogentry = shortlogentry.tmpl
35 35 searchentry = shortlogentry.tmpl
36 36 changeset = changeset.tmpl
37 37 manifest = manifest.tmpl
38 38
39 39 nav = '{before%naventry} {after%naventry}'
40 40 navshort = '{before%navshortentry}{after%navshortentry}'
41 41 navgraph = '{before%navgraphentry}{after%navgraphentry}'
42 42 filenav = '{before%filenaventry}{after%filenaventry}'
43 43
44 44 direntry = '
45 45 <tr class="fileline">
46 46 <td class="name">
47 47 <a href="{url|urlescape}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
48 48 <img src="{staticurl|urlescape}coal-folder.png" alt="dir."/> {basename|escape}/
49 49 </a>
50 50 <a href="{url|urlescape}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
51 51 {emptydirs|escape}
52 52 </a>
53 53 </td>
54 54 <td class="size"></td>
55 55 <td class="permissions">drwxr-xr-x</td>
56 56 </tr>'
57 57
58 58 fileentry = '
59 59 <tr class="fileline">
60 60 <td class="filename">
61 61 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
62 62 <img src="{staticurl|urlescape}coal-file.png" alt="file"/> {basename|escape}
63 63 </a>
64 64 </td>
65 65 <td class="size">{size}</td>
66 66 <td class="permissions">{permissions|permissions}</td>
67 67 </tr>'
68 68
69 69 filerevision = filerevision.tmpl
70 70 fileannotate = fileannotate.tmpl
71 71 filediff = filediff.tmpl
72 72 filecomparison = filecomparison.tmpl
73 73 filelog = filelog.tmpl
74 74 fileline = '
75 75 <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
76 76 filelogentry = filelogentry.tmpl
77 77
78 78 annotateline = '
79 79 <tr>
80 80 <td class="annotate">
81 81 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
82 82 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
83 83 </td>
84 84 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
85 85 </tr>'
86 86
87 87 diffblock = '<div class="bottomline inc-lineno"><pre class="sourcelines wrap">{lines}</pre></div>'
88 88 difflineplus = '
89 89 <span id="{lineid}" class="plusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
90 90 difflineminus = '
91 91 <span id="{lineid}" class="minusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
92 92 difflineat = '
93 93 <span id="{lineid}" class="atline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
94 94 diffline = '
95 95 <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
96 96
97 97 comparisonblock ='
98 98 <tbody class="block">
99 99 {lines}
100 100 </tbody>'
101 101 comparisonline = '
102 <tr>
103 <td class="source {type}"><a href="#{lineid}" id="{lineid}">{leftlinenumber}</a> {leftline|escape}</td>
104 <td class="source {type}"><a href="#{lineid}" id="{lineid}">{rightlinenumber}</a> {rightline|escape}</td>
102 <tr id="{lineid}">
103 <td class="source {type}"><a href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</td>
104 <td class="source {type}"><a href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</td>
105 105 </tr>'
106 106
107 107 changelogparent = '
108 108 <tr>
109 109 <th class="parent">parent {rev}:</th>
110 110 <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
111 111 </tr>'
112 112
113 113 changesetparent = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
114 114
115 115 difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">{node|short}</a> '
116 116
117 117 filerevparent = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
118 118 filerevchild = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
119 119
120 120 filerename = '{file|escape}@'
121 121 filelogrename = '
122 122 <span class="base">
123 123 base
124 124 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
125 125 {file|escape}@{node|short}
126 126 </a>
127 127 </span>'
128 128 fileannotateparent = '
129 129 <tr>
130 130 <td class="metatag">parent:</td>
131 131 <td>
132 132 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
133 133 {rename%filerename}{node|short}
134 134 </a>
135 135 </td>
136 136 </tr>'
137 137 changesetchild = ' <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
138 138 changelogchild = '
139 139 <tr>
140 140 <th class="child">child</th>
141 141 <td class="child">
142 142 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
143 143 {node|short}
144 144 </a>
145 145 </td>
146 146 </tr>'
147 147 fileannotatechild = '
148 148 <tr>
149 149 <td class="metatag">child:</td>
150 150 <td>
151 151 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
152 152 {node|short}
153 153 </a>
154 154 </td>
155 155 </tr>'
156 156 tags = tags.tmpl
157 157 tagentry = '
158 158 <tr class="tagEntry">
159 159 <td>
160 160 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
161 161 {tag|escape}
162 162 </a>
163 163 </td>
164 164 <td class="node">
165 165 {node|short}
166 166 </td>
167 167 </tr>'
168 168 bookmarks = bookmarks.tmpl
169 169 bookmarkentry = '
170 170 <tr class="tagEntry">
171 171 <td>
172 172 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
173 173 {bookmark|escape}
174 174 </a>
175 175 </td>
176 176 <td class="node">
177 177 {node|short}
178 178 </td>
179 179 </tr>'
180 180 branches = branches.tmpl
181 181 branchentry = '
182 182 <tr class="tagEntry">
183 183 <td>
184 184 <a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}">
185 185 {branch|escape}
186 186 </a>
187 187 </td>
188 188 <td class="node">
189 189 {node|short}
190 190 </td>
191 191 </tr>'
192 192 changelogtag = '<span class="tag">{name|escape}</span> '
193 193 changesettag = '<span class="tag">{tag|escape}</span> '
194 194 changesetbookmark = '<span class="tag">{bookmark|escape}</span> '
195 195 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
196 196 changelogbranchname = '<span class="branchname">{name|escape}</span> '
197 197
198 198 filediffparent = '
199 199 <tr>
200 200 <th class="parent">parent {rev}:</th>
201 201 <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
202 202 </tr>'
203 203 filelogparent = '
204 204 <tr>
205 205 <th>parent {rev}:</th>
206 206 <td><a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
207 207 </tr>'
208 208 filediffchild = '
209 209 <tr>
210 210 <th class="child">child {rev}:</th>
211 211 <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
212 212 </td>
213 213 </tr>'
214 214 filelogchild = '
215 215 <tr>
216 216 <th>child {rev}:</th>
217 217 <td><a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
218 218 </tr>'
219 219
220 220 indexentry = '
221 221 <tr>
222 222 <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td>
223 223 <td>{description}</td>
224 224 <td>{contact|obfuscate}</td>
225 225 <td class="age">{lastchange|rfc822date}</td>
226 226 <td class="indexlinks">{archives%indexarchiveentry}</td>
227 227 <td>
228 228 {if(isdirectory, '',
229 229 '<a href="{url|urlescape}atom-log" title="subscribe to repository atom feed">
230 230 <img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="subscribe to repository atom feed">
231 231 </a>'
232 232 )}
233 233 </td>
234 234 </tr>\n'
235 235 indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
236 236 index = index.tmpl
237 237 archiveentry = '
238 238 <li>
239 239 <a href="{url|urlescape}archive/{node|short}{extension|urlescape}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a>
240 240 </li>'
241 241 notfound = notfound.tmpl
242 242 error = error.tmpl
243 243 urlparameter = '{separator}{name}={value|urlescape}'
244 244 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
245 245 breadcrumb = '&gt; <a href="{url|urlescape}">{name|escape}</a> '
@@ -1,383 +1,383 b''
1 1 body {
2 2 margin: 0;
3 3 padding: 0;
4 4 background: white;
5 5 font-family: sans-serif;
6 6 }
7 7
8 8 .container {
9 9 padding-left: 115px;
10 10 }
11 11
12 12 .main {
13 13 position: relative;
14 14 background: white;
15 15 padding: 2em 2em 2em 0;
16 16 }
17 17
18 18 #.main {
19 19 width: 98%;
20 20 }
21 21
22 22 .overflow {
23 23 width: 100%;
24 24 overflow: auto;
25 25 }
26 26
27 27 .menu {
28 28 width: 90px;
29 29 margin: 0;
30 30 font-size: 80%;
31 31 text-align: left;
32 32 position: absolute;
33 33 top: 20px;
34 34 left: 20px;
35 35 right: auto;
36 36 }
37 37
38 38 .menu ul {
39 39 list-style: none;
40 40 padding: 0;
41 41 margin: 10px 0 0 0;
42 42 border-left: 2px solid #999;
43 43 }
44 44
45 45 .menu li {
46 46 margin-bottom: 3px;
47 47 padding: 2px 4px;
48 48 background: white;
49 49 color: black;
50 50 font-weight: normal;
51 51 }
52 52
53 53 .menu li.active {
54 54 font-weight: bold;
55 55 }
56 56
57 57 .menu img {
58 58 width: 75px;
59 59 height: 90px;
60 60 border: 0;
61 61 }
62 62
63 63 .atom-logo img{
64 64 width: 14px;
65 65 height: 14px;
66 66 border: 0;
67 67 }
68 68
69 69 .menu a { color: black; display: block; }
70 70
71 71 .search {
72 72 position: absolute;
73 73 top: .7em;
74 74 right: 2em;
75 75 }
76 76
77 77 form.search div#hint {
78 78 display: none;
79 79 position: absolute;
80 80 top: 40px;
81 81 right: 0px;
82 82 width: 190px;
83 83 padding: 5px;
84 84 background: #ffc;
85 85 font-size: 70%;
86 86 border: 1px solid yellow;
87 87 -moz-border-radius: 5px; /* this works only in camino/firefox */
88 88 -webkit-border-radius: 5px; /* this is just for Safari */
89 89 }
90 90
91 91 form.search:hover div#hint { display: block; }
92 92
93 93 a { text-decoration:none; }
94 94 .age { white-space:nowrap; }
95 95 .date { white-space:nowrap; }
96 96 .indexlinks { white-space:nowrap; }
97 97 .parity0,
98 98 .stripes4 > :nth-child(4n+1),
99 99 .stripes2 > :nth-child(2n+1) { background-color: #f0f0f0; }
100 100 .parity1,
101 101 .stripes4 > :nth-child(4n+3),
102 102 .stripes2 > :nth-child(2n+2) { background-color: white; }
103 103 .plusline { color: green; }
104 104 .minusline { color: #dc143c; } /* crimson */
105 105 .atline { color: purple; }
106 106
107 107 .diffstat-file {
108 108 white-space: nowrap;
109 109 font-size: 90%;
110 110 }
111 111 .diffstat-total {
112 112 white-space: nowrap;
113 113 font-size: 90%;
114 114 }
115 115 .diffstat-graph {
116 116 width: 100%;
117 117 }
118 118 .diffstat-add {
119 119 background-color: green;
120 120 float: left;
121 121 }
122 122 .diffstat-remove {
123 123 background-color: red;
124 124 float: left;
125 125 }
126 126
127 127 .navigate {
128 128 text-align: right;
129 129 font-size: 60%;
130 130 margin: 1em 0;
131 131 }
132 132
133 133 .tag {
134 134 color: #999;
135 135 font-size: 70%;
136 136 font-weight: normal;
137 137 margin-left: .5em;
138 138 vertical-align: baseline;
139 139 }
140 140
141 141 .branchhead {
142 142 color: #000;
143 143 font-size: 80%;
144 144 font-weight: normal;
145 145 margin-left: .5em;
146 146 vertical-align: baseline;
147 147 }
148 148
149 149 ul#graphnodes .branchhead {
150 150 font-size: 75%;
151 151 }
152 152
153 153 .branchname {
154 154 color: #000;
155 155 font-size: 60%;
156 156 font-weight: normal;
157 157 margin-left: .5em;
158 158 vertical-align: baseline;
159 159 }
160 160
161 161 h3 .branchname {
162 162 font-size: 80%;
163 163 }
164 164
165 165 /* Common */
166 166 pre { margin: 0; }
167 167
168 168 h2 { font-size: 120%; border-bottom: 1px solid #999; }
169 169 h2 a { color: #000; }
170 170 h3 {
171 171 margin-top: -.7em;
172 172 font-size: 100%;
173 173 }
174 174
175 175 /* log and tags tables */
176 176 .bigtable {
177 177 border-bottom: 1px solid #999;
178 178 border-collapse: collapse;
179 179 font-size: 90%;
180 180 width: 100%;
181 181 font-weight: normal;
182 182 text-align: left;
183 183 }
184 184
185 185 .bigtable td {
186 186 vertical-align: top;
187 187 }
188 188
189 189 .bigtable th {
190 190 padding: 1px 4px;
191 191 border-bottom: 1px solid #999;
192 192 }
193 193 .bigtable tr { border: none; }
194 194 .bigtable .age { width: 7em; }
195 195 .bigtable .author { width: 15em; }
196 196 .bigtable .description { }
197 197 .bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; }
198 198 .bigtable .node { width: 5em; font-family: monospace;}
199 199 .bigtable .permissions { width: 8em; text-align: left;}
200 200 .bigtable .size { width: 5em; text-align: right; }
201 201 .bigtable .annotate { text-align: right; }
202 202 .bigtable td.annotate { font-size: smaller; }
203 203 .bigtable td.source { font-size: inherit; }
204 204
205 205 .source, .sourcefirst, .sourcelast {
206 206 font-family: monospace;
207 207 white-space: pre;
208 208 padding: 1px 4px;
209 209 font-size: 90%;
210 210 }
211 211 .sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
212 212 .sourcelast { border-top: 1px solid #999; }
213 213 .source a { color: #999; font-size: smaller; font-family: monospace;}
214 214 .bottomline { border-bottom: 1px solid #999; }
215 215
216 216 .sourcelines {
217 217 font-size: 90%;
218 218 position: relative;
219 219 counter-reset: lineno;
220 220 }
221 221
222 222 .wrap > span {
223 223 white-space: pre-wrap;
224 224 }
225 225
226 226 .linewraptoggle {
227 227 float: right;
228 228 }
229 229
230 230 .diffblocks { counter-reset: lineno; }
231 231 .diffblocks > div { counter-increment: lineno; }
232 232
233 233 .sourcelines > span {
234 234 display: inline-block;
235 235 width: 100%;
236 236 padding: 1px 0px;
237 237 counter-increment: lineno;
238 238 }
239 239
240 240 .sourcelines > span:before {
241 241 -moz-user-select: -moz-none;
242 242 -khtml-user-select: none;
243 243 -webkit-user-select: none;
244 244 -ms-user-select: none;
245 245 user-select: none;
246 246 display: inline-block;
247 247 width: 4em;
248 248 margin-right: 1em;
249 249 font-size: smaller;
250 250 color: #999;
251 251 text-align: right;
252 252 content: counters(lineno, ".");
253 253 }
254 254
255 .sourcelines > span:target {
255 .sourcelines > span:target, tr:target td {
256 256 background-color: #bfdfff;
257 257 }
258 258
259 259 .sourcelines > a {
260 260 display: inline-block;
261 261 position: absolute;
262 262 left: 0px;
263 263 width: 4em;
264 264 height: 1em;
265 265 }
266 266
267 267 .fileline { font-family: monospace; }
268 268 .fileline img { border: 0; }
269 269
270 270 .tagEntry .closed { color: #99f; }
271 271
272 272 /* Changeset entry */
273 273 #changesetEntry {
274 274 border-collapse: collapse;
275 275 font-size: 90%;
276 276 width: 100%;
277 277 margin-bottom: 1em;
278 278 }
279 279
280 280 #changesetEntry th {
281 281 padding: 1px 4px;
282 282 width: 4em;
283 283 text-align: right;
284 284 font-weight: normal;
285 285 color: #999;
286 286 margin-right: .5em;
287 287 vertical-align: top;
288 288 }
289 289
290 290 div.description {
291 291 border-left: 2px solid #999;
292 292 margin: 1em 0 1em 0;
293 293 padding: .3em;
294 294 white-space: pre;
295 295 font-family: monospace;
296 296 }
297 297
298 298 /* Graph */
299 299 div#wrapper {
300 300 position: relative;
301 301 border-top: 1px solid black;
302 302 border-bottom: 1px solid black;
303 303 margin: 0;
304 304 padding: 0;
305 305 }
306 306
307 307 canvas {
308 308 position: absolute;
309 309 z-index: 5;
310 310 top: -0.7em;
311 311 margin: 0;
312 312 }
313 313
314 314 ul#graphnodes {
315 315 position: absolute;
316 316 z-index: 10;
317 317 top: -1.0em;
318 318 list-style: none inside none;
319 319 padding: 0;
320 320 }
321 321
322 322 ul#nodebgs {
323 323 list-style: none inside none;
324 324 padding: 0;
325 325 margin: 0;
326 326 top: -0.7em;
327 327 }
328 328
329 329 ul#graphnodes li, ul#nodebgs li {
330 330 height: 39px;
331 331 }
332 332
333 333 ul#graphnodes li .info {
334 334 display: block;
335 335 font-size: 70%;
336 336 position: relative;
337 337 top: -3px;
338 338 }
339 339
340 340 /* Comparison */
341 341 .legend {
342 342 padding: 1.5% 0 1.5% 0;
343 343 }
344 344
345 345 .legendinfo {
346 346 border: 1px solid #999;
347 347 font-size: 80%;
348 348 text-align: center;
349 349 padding: 0.5%;
350 350 }
351 351
352 352 .equal {
353 353 background-color: #ffffff;
354 354 }
355 355
356 356 .delete {
357 357 background-color: #faa;
358 358 color: #333;
359 359 }
360 360
361 361 .insert {
362 362 background-color: #ffa;
363 363 }
364 364
365 365 .replace {
366 366 background-color: #e8e8e8;
367 367 }
368 368
369 369 .header {
370 370 text-align: center;
371 371 }
372 372
373 373 .block {
374 374 border-top: 1px solid #999;
375 375 }
376 376
377 377 .breadcrumb {
378 378 color: gray;
379 379 }
380 380
381 381 .breadcrumb a {
382 382 color: blue;
383 383 }
@@ -1,994 +1,994 b''
1 1 $ "$TESTDIR/hghave" serve || exit 80
2 2
3 3 setting up repo
4 4
5 5 $ hg init test
6 6 $ cd test
7 7 $ echo a > a
8 8 $ echo b > b
9 9 $ hg ci -Ama
10 10 adding a
11 11 adding b
12 12
13 13 change permissions for git diffs
14 14
15 15 $ hg import -q --bypass - <<EOF
16 16 > # HG changeset patch
17 17 > # User test
18 18 > # Date 0 0
19 19 > b
20 20 >
21 21 > diff --git a/a b/a
22 22 > old mode 100644
23 23 > new mode 100755
24 24 > diff --git a/b b/b
25 25 > deleted file mode 100644
26 26 > --- a/b
27 27 > +++ /dev/null
28 28 > @@ -1,1 +0,0 @@
29 29 > -b
30 30 > EOF
31 31
32 32 set up hgweb
33 33
34 34 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
35 35 $ cat hg.pid >> $DAEMON_PIDS
36 36
37 37 revision
38 38
39 39 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'rev/0'
40 40 200 Script output follows
41 41
42 42 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
43 43 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
44 44 <head>
45 45 <link rel="icon" href="/static/hgicon.png" type="image/png" />
46 46 <meta name="robots" content="index, nofollow" />
47 47 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
48 48 <script type="text/javascript" src="/static/mercurial.js"></script>
49 49
50 50 <title>test: 0cd96de13884</title>
51 51 </head>
52 52 <body>
53 53 <div class="container">
54 54 <div class="menu">
55 55 <div class="logo">
56 56 <a href="http://mercurial.selenic.com/">
57 57 <img src="/static/hglogo.png" alt="mercurial" /></a>
58 58 </div>
59 59 <ul>
60 60 <li><a href="/shortlog/0cd96de13884">log</a></li>
61 61 <li><a href="/graph/0cd96de13884">graph</a></li>
62 62 <li><a href="/tags">tags</a></li>
63 63 <li><a href="/bookmarks">bookmarks</a></li>
64 64 <li><a href="/branches">branches</a></li>
65 65 </ul>
66 66 <ul>
67 67 <li class="active">changeset</li>
68 68 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
69 69 <li><a href="/file/0cd96de13884">browse</a></li>
70 70 </ul>
71 71 <ul>
72 72
73 73 </ul>
74 74 <ul>
75 75 <li><a href="/help">help</a></li>
76 76 </ul>
77 77 </div>
78 78
79 79 <div class="main">
80 80
81 81 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
82 82 <h3>changeset 0:0cd96de13884 </h3>
83 83
84 84 <form class="search" action="/log">
85 85
86 86 <p><input name="rev" id="search1" type="text" size="30" /></p>
87 87 <div id="hint">find changesets by author, revision,
88 88 files, or words in the commit message</div>
89 89 </form>
90 90
91 91 <div class="description">a</div>
92 92
93 93 <table id="changesetEntry">
94 94 <tr>
95 95 <th class="author">author</th>
96 96 <td class="author">&#116;&#101;&#115;&#116;</td>
97 97 </tr>
98 98 <tr>
99 99 <th class="date">date</th>
100 100 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
101 101 <tr>
102 102 <th class="author">parents</th>
103 103 <td class="author"></td>
104 104 </tr>
105 105 <tr>
106 106 <th class="author">children</th>
107 107 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
108 108 </tr>
109 109 <tr>
110 110 <th class="files">files</th>
111 111 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
112 112 </tr>
113 113 <tr>
114 114 <th class="diffstat">diffstat</th>
115 115 <td class="diffstat">
116 116 2 files changed, 2 insertions(+), 0 deletions(-)
117 117
118 118 <a id="diffstatexpand" href="javascript:toggleDiffstat()"/>[<tt>+</tt>]</a>
119 119 <div id="diffstatdetails" style="display:none;">
120 120 <a href="javascript:toggleDiffstat()"/>[<tt>-</tt>]</a>
121 121 <p>
122 122 <table class="stripes2"> <tr>
123 123 <td class="diffstat-file"><a href="#l1.1">a</a></td>
124 124 <td class="diffstat-total" align="right">1</td>
125 125 <td class="diffstat-graph">
126 126 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
127 127 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
128 128 </td>
129 129 </tr>
130 130 <tr>
131 131 <td class="diffstat-file"><a href="#l2.1">b</a></td>
132 132 <td class="diffstat-total" align="right">1</td>
133 133 <td class="diffstat-graph">
134 134 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
135 135 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
136 136 </td>
137 137 </tr>
138 138 </table>
139 139 </div>
140 140 </td>
141 141 </tr>
142 142 </table>
143 143
144 144 <div class="overflow">
145 145 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
146 146 <div class="sourcefirst"> line diff</div>
147 147 <div class="stripes2 diffblocks">
148 148 <div class="bottomline inc-lineno"><pre class="sourcelines wrap">
149 149 <span id="l1.1" class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.1"></a>
150 150 <span id="l1.2" class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.2"></a>
151 151 <span id="l1.3" class="atline">@@ -0,0 +1,1 @@</span><a href="#l1.3"></a>
152 152 <span id="l1.4" class="plusline">+a</span><a href="#l1.4"></a></pre></div><div class="bottomline inc-lineno"><pre class="sourcelines wrap">
153 153 <span id="l2.1" class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000</span><a href="#l2.1"></a>
154 154 <span id="l2.2" class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000</span><a href="#l2.2"></a>
155 155 <span id="l2.3" class="atline">@@ -0,0 +1,1 @@</span><a href="#l2.3"></a>
156 156 <span id="l2.4" class="plusline">+b</span><a href="#l2.4"></a></pre></div>
157 157 </div>
158 158 </div>
159 159
160 160 </div>
161 161 </div>
162 162 <script type="text/javascript">process_dates()</script>
163 163
164 164
165 165 </body>
166 166 </html>
167 167
168 168
169 169 raw revision
170 170
171 171 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
172 172 200 Script output follows
173 173
174 174
175 175 # HG changeset patch
176 176 # User test
177 177 # Date 0 0
178 178 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
179 179
180 180 a
181 181
182 182 diff -r 000000000000 -r 0cd96de13884 a
183 183 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
184 184 +++ b/a Thu Jan 01 00:00:00 1970 +0000
185 185 @@ -0,0 +1,1 @@
186 186 +a
187 187 diff -r 000000000000 -r 0cd96de13884 b
188 188 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
189 189 +++ b/b Thu Jan 01 00:00:00 1970 +0000
190 190 @@ -0,0 +1,1 @@
191 191 +b
192 192
193 193
194 194 diff removed file
195 195
196 196 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/b'
197 197 200 Script output follows
198 198
199 199 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
200 200 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
201 201 <head>
202 202 <link rel="icon" href="/static/hgicon.png" type="image/png" />
203 203 <meta name="robots" content="index, nofollow" />
204 204 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
205 205 <script type="text/javascript" src="/static/mercurial.js"></script>
206 206
207 207 <title>test: b diff</title>
208 208 </head>
209 209 <body>
210 210
211 211 <div class="container">
212 212 <div class="menu">
213 213 <div class="logo">
214 214 <a href="http://mercurial.selenic.com/">
215 215 <img src="/static/hglogo.png" alt="mercurial" /></a>
216 216 </div>
217 217 <ul>
218 218 <li><a href="/shortlog/559edbd9ed20">log</a></li>
219 219 <li><a href="/graph/559edbd9ed20">graph</a></li>
220 220 <li><a href="/tags">tags</a></li>
221 221 <li><a href="/bookmarks">bookmarks</a></li>
222 222 <li><a href="/branches">branches</a></li>
223 223 </ul>
224 224 <ul>
225 225 <li><a href="/rev/559edbd9ed20">changeset</a></li>
226 226 <li><a href="/file/559edbd9ed20">browse</a></li>
227 227 </ul>
228 228 <ul>
229 229 <li><a href="/file/559edbd9ed20/b">file</a></li>
230 230 <li><a href="/file/tip/b">latest</a></li>
231 231 <li class="active">diff</li>
232 232 <li><a href="/comparison/559edbd9ed20/b">comparison</a></li>
233 233 <li><a href="/annotate/559edbd9ed20/b">annotate</a></li>
234 234 <li><a href="/log/559edbd9ed20/b">file log</a></li>
235 235 <li><a href="/raw-file/559edbd9ed20/b">raw</a></li>
236 236 </ul>
237 237 <ul>
238 238 <li><a href="/help">help</a></li>
239 239 </ul>
240 240 </div>
241 241
242 242 <div class="main">
243 243 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
244 244 <h3>diff b @ 1:559edbd9ed20</h3>
245 245
246 246 <form class="search" action="/log">
247 247 <p></p>
248 248 <p><input name="rev" id="search1" type="text" size="30" /></p>
249 249 <div id="hint">find changesets by author, revision,
250 250 files, or words in the commit message</div>
251 251 </form>
252 252
253 253 <div class="description">b</div>
254 254
255 255 <table id="changesetEntry">
256 256 <tr>
257 257 <th>author</th>
258 258 <td>&#116;&#101;&#115;&#116;</td>
259 259 </tr>
260 260 <tr>
261 261 <th>date</th>
262 262 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
263 263 </tr>
264 264 <tr>
265 265 <th>parents</th>
266 266 <td><a href="/file/0cd96de13884/b">0cd96de13884</a> </td>
267 267 </tr>
268 268 <tr>
269 269 <th>children</th>
270 270 <td></td>
271 271 </tr>
272 272
273 273 </table>
274 274
275 275 <div class="overflow">
276 276 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
277 277 <div class="sourcefirst"> line diff</div>
278 278 <div class="stripes2 diffblocks">
279 279 <div class="bottomline inc-lineno"><pre class="sourcelines wrap">
280 280 <span id="l1.1" class="minusline">--- a/b Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.1"></a>
281 281 <span id="l1.2" class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000</span><a href="#l1.2"></a>
282 282 <span id="l1.3" class="atline">@@ -1,1 +0,0 @@</span><a href="#l1.3"></a>
283 283 <span id="l1.4" class="minusline">-b</span><a href="#l1.4"></a></pre></div>
284 284 </div>
285 285 </div>
286 286 </div>
287 287 </div>
288 288
289 289 <script type="text/javascript">process_dates()</script>
290 290
291 291
292 292 </body>
293 293 </html>
294 294
295 295
296 296 set up hgweb with git diffs
297 297
298 298 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
299 299 $ hg serve --config 'diff.git=1' -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
300 300 $ cat hg.pid >> $DAEMON_PIDS
301 301
302 302 revision
303 303
304 304 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'rev/0'
305 305 200 Script output follows
306 306
307 307 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
308 308 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
309 309 <head>
310 310 <link rel="icon" href="/static/hgicon.png" type="image/png" />
311 311 <meta name="robots" content="index, nofollow" />
312 312 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
313 313 <script type="text/javascript" src="/static/mercurial.js"></script>
314 314
315 315 <title>test: 0cd96de13884</title>
316 316 </head>
317 317 <body>
318 318 <div class="container">
319 319 <div class="menu">
320 320 <div class="logo">
321 321 <a href="http://mercurial.selenic.com/">
322 322 <img src="/static/hglogo.png" alt="mercurial" /></a>
323 323 </div>
324 324 <ul>
325 325 <li><a href="/shortlog/0cd96de13884">log</a></li>
326 326 <li><a href="/graph/0cd96de13884">graph</a></li>
327 327 <li><a href="/tags">tags</a></li>
328 328 <li><a href="/bookmarks">bookmarks</a></li>
329 329 <li><a href="/branches">branches</a></li>
330 330 </ul>
331 331 <ul>
332 332 <li class="active">changeset</li>
333 333 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
334 334 <li><a href="/file/0cd96de13884">browse</a></li>
335 335 </ul>
336 336 <ul>
337 337
338 338 </ul>
339 339 <ul>
340 340 <li><a href="/help">help</a></li>
341 341 </ul>
342 342 </div>
343 343
344 344 <div class="main">
345 345
346 346 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
347 347 <h3>changeset 0:0cd96de13884 </h3>
348 348
349 349 <form class="search" action="/log">
350 350
351 351 <p><input name="rev" id="search1" type="text" size="30" /></p>
352 352 <div id="hint">find changesets by author, revision,
353 353 files, or words in the commit message</div>
354 354 </form>
355 355
356 356 <div class="description">a</div>
357 357
358 358 <table id="changesetEntry">
359 359 <tr>
360 360 <th class="author">author</th>
361 361 <td class="author">&#116;&#101;&#115;&#116;</td>
362 362 </tr>
363 363 <tr>
364 364 <th class="date">date</th>
365 365 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
366 366 <tr>
367 367 <th class="author">parents</th>
368 368 <td class="author"></td>
369 369 </tr>
370 370 <tr>
371 371 <th class="author">children</th>
372 372 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
373 373 </tr>
374 374 <tr>
375 375 <th class="files">files</th>
376 376 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
377 377 </tr>
378 378 <tr>
379 379 <th class="diffstat">diffstat</th>
380 380 <td class="diffstat">
381 381 2 files changed, 2 insertions(+), 0 deletions(-)
382 382
383 383 <a id="diffstatexpand" href="javascript:toggleDiffstat()"/>[<tt>+</tt>]</a>
384 384 <div id="diffstatdetails" style="display:none;">
385 385 <a href="javascript:toggleDiffstat()"/>[<tt>-</tt>]</a>
386 386 <p>
387 387 <table class="stripes2"> <tr>
388 388 <td class="diffstat-file"><a href="#l1.1">a</a></td>
389 389 <td class="diffstat-total" align="right">1</td>
390 390 <td class="diffstat-graph">
391 391 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
392 392 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
393 393 </td>
394 394 </tr>
395 395 <tr>
396 396 <td class="diffstat-file"><a href="#l2.1">b</a></td>
397 397 <td class="diffstat-total" align="right">1</td>
398 398 <td class="diffstat-graph">
399 399 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
400 400 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
401 401 </td>
402 402 </tr>
403 403 </table>
404 404 </div>
405 405 </td>
406 406 </tr>
407 407 </table>
408 408
409 409 <div class="overflow">
410 410 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
411 411 <div class="sourcefirst"> line diff</div>
412 412 <div class="stripes2 diffblocks">
413 413 <div class="bottomline inc-lineno"><pre class="sourcelines wrap">
414 414 <span id="l1.1">new file mode 100644</span><a href="#l1.1"></a>
415 415 <span id="l1.2" class="minusline">--- /dev/null</span><a href="#l1.2"></a>
416 416 <span id="l1.3" class="plusline">+++ b/a</span><a href="#l1.3"></a>
417 417 <span id="l1.4" class="atline">@@ -0,0 +1,1 @@</span><a href="#l1.4"></a>
418 418 <span id="l1.5" class="plusline">+a</span><a href="#l1.5"></a></pre></div><div class="bottomline inc-lineno"><pre class="sourcelines wrap">
419 419 <span id="l2.1">new file mode 100644</span><a href="#l2.1"></a>
420 420 <span id="l2.2" class="minusline">--- /dev/null</span><a href="#l2.2"></a>
421 421 <span id="l2.3" class="plusline">+++ b/b</span><a href="#l2.3"></a>
422 422 <span id="l2.4" class="atline">@@ -0,0 +1,1 @@</span><a href="#l2.4"></a>
423 423 <span id="l2.5" class="plusline">+b</span><a href="#l2.5"></a></pre></div>
424 424 </div>
425 425 </div>
426 426
427 427 </div>
428 428 </div>
429 429 <script type="text/javascript">process_dates()</script>
430 430
431 431
432 432 </body>
433 433 </html>
434 434
435 435
436 436 revision
437 437
438 438 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
439 439 200 Script output follows
440 440
441 441
442 442 # HG changeset patch
443 443 # User test
444 444 # Date 0 0
445 445 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
446 446
447 447 a
448 448
449 449 diff --git a/a b/a
450 450 new file mode 100644
451 451 --- /dev/null
452 452 +++ b/a
453 453 @@ -0,0 +1,1 @@
454 454 +a
455 455 diff --git a/b b/b
456 456 new file mode 100644
457 457 --- /dev/null
458 458 +++ b/b
459 459 @@ -0,0 +1,1 @@
460 460 +b
461 461
462 462
463 463 diff removed file
464 464
465 465 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/a'
466 466 200 Script output follows
467 467
468 468 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
469 469 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
470 470 <head>
471 471 <link rel="icon" href="/static/hgicon.png" type="image/png" />
472 472 <meta name="robots" content="index, nofollow" />
473 473 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
474 474 <script type="text/javascript" src="/static/mercurial.js"></script>
475 475
476 476 <title>test: a diff</title>
477 477 </head>
478 478 <body>
479 479
480 480 <div class="container">
481 481 <div class="menu">
482 482 <div class="logo">
483 483 <a href="http://mercurial.selenic.com/">
484 484 <img src="/static/hglogo.png" alt="mercurial" /></a>
485 485 </div>
486 486 <ul>
487 487 <li><a href="/shortlog/559edbd9ed20">log</a></li>
488 488 <li><a href="/graph/559edbd9ed20">graph</a></li>
489 489 <li><a href="/tags">tags</a></li>
490 490 <li><a href="/bookmarks">bookmarks</a></li>
491 491 <li><a href="/branches">branches</a></li>
492 492 </ul>
493 493 <ul>
494 494 <li><a href="/rev/559edbd9ed20">changeset</a></li>
495 495 <li><a href="/file/559edbd9ed20">browse</a></li>
496 496 </ul>
497 497 <ul>
498 498 <li><a href="/file/559edbd9ed20/a">file</a></li>
499 499 <li><a href="/file/tip/a">latest</a></li>
500 500 <li class="active">diff</li>
501 501 <li><a href="/comparison/559edbd9ed20/a">comparison</a></li>
502 502 <li><a href="/annotate/559edbd9ed20/a">annotate</a></li>
503 503 <li><a href="/log/559edbd9ed20/a">file log</a></li>
504 504 <li><a href="/raw-file/559edbd9ed20/a">raw</a></li>
505 505 </ul>
506 506 <ul>
507 507 <li><a href="/help">help</a></li>
508 508 </ul>
509 509 </div>
510 510
511 511 <div class="main">
512 512 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
513 513 <h3>diff a @ 1:559edbd9ed20</h3>
514 514
515 515 <form class="search" action="/log">
516 516 <p></p>
517 517 <p><input name="rev" id="search1" type="text" size="30" /></p>
518 518 <div id="hint">find changesets by author, revision,
519 519 files, or words in the commit message</div>
520 520 </form>
521 521
522 522 <div class="description">b</div>
523 523
524 524 <table id="changesetEntry">
525 525 <tr>
526 526 <th>author</th>
527 527 <td>&#116;&#101;&#115;&#116;</td>
528 528 </tr>
529 529 <tr>
530 530 <th>date</th>
531 531 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
532 532 </tr>
533 533 <tr>
534 534 <th>parents</th>
535 535 <td></td>
536 536 </tr>
537 537 <tr>
538 538 <th>children</th>
539 539 <td></td>
540 540 </tr>
541 541
542 542 </table>
543 543
544 544 <div class="overflow">
545 545 <div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
546 546 <div class="sourcefirst"> line diff</div>
547 547 <div class="stripes2 diffblocks">
548 548 <div class="bottomline inc-lineno"><pre class="sourcelines wrap">
549 549 <span id="l1.1">old mode 100644</span><a href="#l1.1"></a>
550 550 <span id="l1.2">new mode 100755</span><a href="#l1.2"></a></pre></div>
551 551 </div>
552 552 </div>
553 553 </div>
554 554 </div>
555 555
556 556 <script type="text/javascript">process_dates()</script>
557 557
558 558
559 559 </body>
560 560 </html>
561 561
562 562
563 563 comparison new file
564 564
565 565 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'comparison/0/a'
566 566 200 Script output follows
567 567
568 568 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
569 569 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
570 570 <head>
571 571 <link rel="icon" href="/static/hgicon.png" type="image/png" />
572 572 <meta name="robots" content="index, nofollow" />
573 573 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
574 574 <script type="text/javascript" src="/static/mercurial.js"></script>
575 575
576 576 <title>test: a comparison</title>
577 577 </head>
578 578 <body>
579 579
580 580 <div class="container">
581 581 <div class="menu">
582 582 <div class="logo">
583 583 <a href="http://mercurial.selenic.com/">
584 584 <img src="/static/hglogo.png" alt="mercurial" /></a>
585 585 </div>
586 586 <ul>
587 587 <li><a href="/shortlog/0cd96de13884">log</a></li>
588 588 <li><a href="/graph/0cd96de13884">graph</a></li>
589 589 <li><a href="/tags">tags</a></li>
590 590 <li><a href="/bookmarks">bookmarks</a></li>
591 591 <li><a href="/branches">branches</a></li>
592 592 </ul>
593 593 <ul>
594 594 <li><a href="/rev/0cd96de13884">changeset</a></li>
595 595 <li><a href="/file/0cd96de13884">browse</a></li>
596 596 </ul>
597 597 <ul>
598 598 <li><a href="/file/0cd96de13884/a">file</a></li>
599 599 <li><a href="/file/tip/a">latest</a></li>
600 600 <li><a href="/diff/0cd96de13884/a">diff</a></li>
601 601 <li class="active">comparison</li>
602 602 <li><a href="/annotate/0cd96de13884/a">annotate</a></li>
603 603 <li><a href="/log/0cd96de13884/a">file log</a></li>
604 604 <li><a href="/raw-file/0cd96de13884/a">raw</a></li>
605 605 </ul>
606 606 <ul>
607 607 <li><a href="/help">help</a></li>
608 608 </ul>
609 609 </div>
610 610
611 611 <div class="main">
612 612 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
613 613 <h3>comparison a @ 0:0cd96de13884</h3>
614 614
615 615 <form class="search" action="/log">
616 616 <p></p>
617 617 <p><input name="rev" id="search1" type="text" size="30" /></p>
618 618 <div id="hint">find changesets by author, revision,
619 619 files, or words in the commit message</div>
620 620 </form>
621 621
622 622 <div class="description">a</div>
623 623
624 624 <table id="changesetEntry">
625 625 <tr>
626 626 <th>author</th>
627 627 <td>&#116;&#101;&#115;&#116;</td>
628 628 </tr>
629 629 <tr>
630 630 <th>date</th>
631 631 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
632 632 </tr>
633 633 <tr>
634 634 <th>parents</th>
635 635 <td></td>
636 636 </tr>
637 637 <tr>
638 638 <th>children</th>
639 639 <td></td>
640 640 </tr>
641 641
642 642 </table>
643 643
644 644 <div class="overflow">
645 645 <div class="sourcefirst"> comparison</div>
646 646 <div class="legend">
647 647 <span class="legendinfo equal">equal</span>
648 648 <span class="legendinfo delete">deleted</span>
649 649 <span class="legendinfo insert">inserted</span>
650 650 <span class="legendinfo replace">replaced</span>
651 651 </div>
652 652
653 653 <table class="bigtable">
654 654 <thead class="header">
655 655 <tr>
656 656 <th>-1:000000000000</th>
657 657 <th>0:b789fdd96dc2</th>
658 658 </tr>
659 659 </thead>
660 660
661 661 <tbody class="block">
662 662
663 <tr>
664 <td class="source insert"><a href="#r1" id="r1"> </a> </td>
665 <td class="source insert"><a href="#r1" id="r1"> 1</a> a</td>
663 <tr id="r1">
664 <td class="source insert"><a href="#r1"> </a> </td>
665 <td class="source insert"><a href="#r1"> 1</a> a</td>
666 666 </tr>
667 667 </tbody>
668 668 </table>
669 669
670 670 </div>
671 671 </div>
672 672 </div>
673 673
674 674 <script type="text/javascript">process_dates()</script>
675 675
676 676
677 677 </body>
678 678 </html>
679 679
680 680
681 681 comparison existing file
682 682
683 683 $ hg up
684 684 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
685 685 $ echo a >> a
686 686 $ hg ci -mc
687 687 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'comparison/tip/a'
688 688 200 Script output follows
689 689
690 690 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
691 691 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
692 692 <head>
693 693 <link rel="icon" href="/static/hgicon.png" type="image/png" />
694 694 <meta name="robots" content="index, nofollow" />
695 695 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
696 696 <script type="text/javascript" src="/static/mercurial.js"></script>
697 697
698 698 <title>test: a comparison</title>
699 699 </head>
700 700 <body>
701 701
702 702 <div class="container">
703 703 <div class="menu">
704 704 <div class="logo">
705 705 <a href="http://mercurial.selenic.com/">
706 706 <img src="/static/hglogo.png" alt="mercurial" /></a>
707 707 </div>
708 708 <ul>
709 709 <li><a href="/shortlog/d73db4d812ff">log</a></li>
710 710 <li><a href="/graph/d73db4d812ff">graph</a></li>
711 711 <li><a href="/tags">tags</a></li>
712 712 <li><a href="/bookmarks">bookmarks</a></li>
713 713 <li><a href="/branches">branches</a></li>
714 714 </ul>
715 715 <ul>
716 716 <li><a href="/rev/d73db4d812ff">changeset</a></li>
717 717 <li><a href="/file/d73db4d812ff">browse</a></li>
718 718 </ul>
719 719 <ul>
720 720 <li><a href="/file/d73db4d812ff/a">file</a></li>
721 721 <li><a href="/file/tip/a">latest</a></li>
722 722 <li><a href="/diff/d73db4d812ff/a">diff</a></li>
723 723 <li class="active">comparison</li>
724 724 <li><a href="/annotate/d73db4d812ff/a">annotate</a></li>
725 725 <li><a href="/log/d73db4d812ff/a">file log</a></li>
726 726 <li><a href="/raw-file/d73db4d812ff/a">raw</a></li>
727 727 </ul>
728 728 <ul>
729 729 <li><a href="/help">help</a></li>
730 730 </ul>
731 731 </div>
732 732
733 733 <div class="main">
734 734 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
735 735 <h3>comparison a @ 2:d73db4d812ff</h3>
736 736
737 737 <form class="search" action="/log">
738 738 <p></p>
739 739 <p><input name="rev" id="search1" type="text" size="30" /></p>
740 740 <div id="hint">find changesets by author, revision,
741 741 files, or words in the commit message</div>
742 742 </form>
743 743
744 744 <div class="description">c</div>
745 745
746 746 <table id="changesetEntry">
747 747 <tr>
748 748 <th>author</th>
749 749 <td>&#116;&#101;&#115;&#116;</td>
750 750 </tr>
751 751 <tr>
752 752 <th>date</th>
753 753 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
754 754 </tr>
755 755 <tr>
756 756 <th>parents</th>
757 757 <td><a href="/file/0cd96de13884/a">0cd96de13884</a> </td>
758 758 </tr>
759 759 <tr>
760 760 <th>children</th>
761 761 <td></td>
762 762 </tr>
763 763
764 764 </table>
765 765
766 766 <div class="overflow">
767 767 <div class="sourcefirst"> comparison</div>
768 768 <div class="legend">
769 769 <span class="legendinfo equal">equal</span>
770 770 <span class="legendinfo delete">deleted</span>
771 771 <span class="legendinfo insert">inserted</span>
772 772 <span class="legendinfo replace">replaced</span>
773 773 </div>
774 774
775 775 <table class="bigtable">
776 776 <thead class="header">
777 777 <tr>
778 778 <th>0:b789fdd96dc2</th>
779 779 <th>1:a80d06849b33</th>
780 780 </tr>
781 781 </thead>
782 782
783 783 <tbody class="block">
784 784
785 <tr>
786 <td class="source equal"><a href="#l1r1" id="l1r1"> 1</a> a</td>
787 <td class="source equal"><a href="#l1r1" id="l1r1"> 1</a> a</td>
785 <tr id="l1r1">
786 <td class="source equal"><a href="#l1r1"> 1</a> a</td>
787 <td class="source equal"><a href="#l1r1"> 1</a> a</td>
788 788 </tr>
789 <tr>
790 <td class="source insert"><a href="#r2" id="r2"> </a> </td>
791 <td class="source insert"><a href="#r2" id="r2"> 2</a> a</td>
789 <tr id="r2">
790 <td class="source insert"><a href="#r2"> </a> </td>
791 <td class="source insert"><a href="#r2"> 2</a> a</td>
792 792 </tr>
793 793 </tbody>
794 794 </table>
795 795
796 796 </div>
797 797 </div>
798 798 </div>
799 799
800 800 <script type="text/javascript">process_dates()</script>
801 801
802 802
803 803 </body>
804 804 </html>
805 805
806 806
807 807 comparison removed file
808 808
809 809 $ hg rm a
810 810 $ hg ci -md
811 811 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'comparison/tip/a'
812 812 200 Script output follows
813 813
814 814 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
815 815 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
816 816 <head>
817 817 <link rel="icon" href="/static/hgicon.png" type="image/png" />
818 818 <meta name="robots" content="index, nofollow" />
819 819 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
820 820 <script type="text/javascript" src="/static/mercurial.js"></script>
821 821
822 822 <title>test: a comparison</title>
823 823 </head>
824 824 <body>
825 825
826 826 <div class="container">
827 827 <div class="menu">
828 828 <div class="logo">
829 829 <a href="http://mercurial.selenic.com/">
830 830 <img src="/static/hglogo.png" alt="mercurial" /></a>
831 831 </div>
832 832 <ul>
833 833 <li><a href="/shortlog/20e80271eb7a">log</a></li>
834 834 <li><a href="/graph/20e80271eb7a">graph</a></li>
835 835 <li><a href="/tags">tags</a></li>
836 836 <li><a href="/bookmarks">bookmarks</a></li>
837 837 <li><a href="/branches">branches</a></li>
838 838 </ul>
839 839 <ul>
840 840 <li><a href="/rev/20e80271eb7a">changeset</a></li>
841 841 <li><a href="/file/20e80271eb7a">browse</a></li>
842 842 </ul>
843 843 <ul>
844 844 <li><a href="/file/20e80271eb7a/a">file</a></li>
845 845 <li><a href="/file/tip/a">latest</a></li>
846 846 <li><a href="/diff/20e80271eb7a/a">diff</a></li>
847 847 <li class="active">comparison</li>
848 848 <li><a href="/annotate/20e80271eb7a/a">annotate</a></li>
849 849 <li><a href="/log/20e80271eb7a/a">file log</a></li>
850 850 <li><a href="/raw-file/20e80271eb7a/a">raw</a></li>
851 851 </ul>
852 852 <ul>
853 853 <li><a href="/help">help</a></li>
854 854 </ul>
855 855 </div>
856 856
857 857 <div class="main">
858 858 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
859 859 <h3>comparison a @ 3:20e80271eb7a</h3>
860 860
861 861 <form class="search" action="/log">
862 862 <p></p>
863 863 <p><input name="rev" id="search1" type="text" size="30" /></p>
864 864 <div id="hint">find changesets by author, revision,
865 865 files, or words in the commit message</div>
866 866 </form>
867 867
868 868 <div class="description">d</div>
869 869
870 870 <table id="changesetEntry">
871 871 <tr>
872 872 <th>author</th>
873 873 <td>&#116;&#101;&#115;&#116;</td>
874 874 </tr>
875 875 <tr>
876 876 <th>date</th>
877 877 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
878 878 </tr>
879 879 <tr>
880 880 <th>parents</th>
881 881 <td><a href="/file/0cd96de13884/a">0cd96de13884</a> </td>
882 882 </tr>
883 883 <tr>
884 884 <th>children</th>
885 885 <td></td>
886 886 </tr>
887 887
888 888 </table>
889 889
890 890 <div class="overflow">
891 891 <div class="sourcefirst"> comparison</div>
892 892 <div class="legend">
893 893 <span class="legendinfo equal">equal</span>
894 894 <span class="legendinfo delete">deleted</span>
895 895 <span class="legendinfo insert">inserted</span>
896 896 <span class="legendinfo replace">replaced</span>
897 897 </div>
898 898
899 899 <table class="bigtable">
900 900 <thead class="header">
901 901 <tr>
902 902 <th>1:a80d06849b33</th>
903 903 <th>-1:000000000000</th>
904 904 </tr>
905 905 </thead>
906 906
907 907 <tbody class="block">
908 908
909 <tr>
910 <td class="source delete"><a href="#l1" id="l1"> 1</a> a</td>
911 <td class="source delete"><a href="#l1" id="l1"> </a> </td>
909 <tr id="l1">
910 <td class="source delete"><a href="#l1"> 1</a> a</td>
911 <td class="source delete"><a href="#l1"> </a> </td>
912 912 </tr>
913 <tr>
914 <td class="source delete"><a href="#l2" id="l2"> 2</a> a</td>
915 <td class="source delete"><a href="#l2" id="l2"> </a> </td>
913 <tr id="l2">
914 <td class="source delete"><a href="#l2"> 2</a> a</td>
915 <td class="source delete"><a href="#l2"> </a> </td>
916 916 </tr>
917 917 </tbody>
918 918 </table>
919 919
920 920 </div>
921 921 </div>
922 922 </div>
923 923
924 924 <script type="text/javascript">process_dates()</script>
925 925
926 926
927 927 </body>
928 928 </html>
929 929
930 930
931 931 $ cd ..
932 932
933 933 test import rev as raw-rev
934 934
935 935 $ hg clone -r0 test test1
936 936 adding changesets
937 937 adding manifests
938 938 adding file changes
939 939 added 1 changesets with 2 changes to 2 files
940 940 updating to branch default
941 941 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
942 942 $ cd test1
943 943 $ hg import -q --bypass --exact http://localhost:$HGPORT/rev/1
944 944
945 945 raw revision with diff block numbers
946 946
947 947 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
948 948 $ cat <<EOF > .hg/hgrc
949 949 > [web]
950 950 > templates = rawdiff
951 951 > EOF
952 952 $ mkdir rawdiff
953 953 $ cat <<EOF > rawdiff/map
954 954 > mimetype = 'text/plain; charset={encoding}'
955 955 > changeset = '{diff}'
956 956 > difflineplus = '{line}'
957 957 > difflineminus = '{line}'
958 958 > difflineat = '{line}'
959 959 > diffline = '{line}'
960 960 > filenodelink = ''
961 961 > filenolink = ''
962 962 > fileline = '{line}'
963 963 > diffblock = 'Block: {blockno}\n{lines}\n'
964 964 > EOF
965 965 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
966 966 $ cat hg.pid >> $DAEMON_PIDS
967 967 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
968 968 200 Script output follows
969 969
970 970 Block: 1
971 971 diff -r 000000000000 -r 0cd96de13884 a
972 972 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
973 973 +++ b/a Thu Jan 01 00:00:00 1970 +0000
974 974 @@ -0,0 +1,1 @@
975 975 +a
976 976
977 977 Block: 2
978 978 diff -r 000000000000 -r 0cd96de13884 b
979 979 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
980 980 +++ b/b Thu Jan 01 00:00:00 1970 +0000
981 981 @@ -0,0 +1,1 @@
982 982 +b
983 983
984 984 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
985 985 $ rm .hg/hgrc rawdiff/map
986 986 $ rmdir rawdiff
987 987 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
988 988 $ cat hg.pid >> $DAEMON_PIDS
989 989
990 990 errors
991 991
992 992 $ cat ../test/errors.log
993 993
994 994 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now