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