##// END OF EJS Templates
monoblue: don't show '[up]' in file view when in root directory already
av6 -
r38203:9ed35270 default
parent child Browse files
Show More
@@ -1,47 +1,41 b''
1 {header}
1 {header}
2 <title>{repo|escape}: files</title>
2 <title>{repo|escape}: files</title>
3 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
3 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
4 <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
5 </head>
5 </head>
6
6
7 <body>
7 <body>
8 <div id="container">
8 <div id="container">
9 <div class="page-header">
9 <div class="page-header">
10 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / files</h1>
10 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / files</h1>
11
11
12 {searchform}
12 {searchform}
13
13
14 <ul class="page-nav">
14 <ul class="page-nav">
15 <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
15 <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
16 <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
16 <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
17 <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
17 <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
18 <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li>
18 <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li>
19 <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
19 <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
20 <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
20 <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
21 <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
21 <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
22 <li class="current">files</li>
22 <li class="current">files</li>
23 <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
23 <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
24 </ul>
24 </ul>
25 </div>
25 </div>
26
26
27 <ul class="submenu">
27 <ul class="submenu">
28 <li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li>
28 <li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li>
29 {archives%archiveentry}
29 {archives%archiveentry}
30 </ul>
30 </ul>
31
31
32 <h2 class="no-link no-border">files</h2>
32 <h2 class="no-link no-border">files</h2>
33 <p class="files">{path|escape} {alltags}</p>
33 <p class="files">{path|escape} {alltags}</p>
34
34
35 <table>
35 <table>
36 <tr class="parity{upparity}">
36 {ifeq(path, up, '', updirentry)}
37 <td>drwxr-xr-x</td>
38 <td></td>
39 <td></td>
40 <td><a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a></td>
41 <td class="link">&nbsp;</td>
42 </tr>
43 {dentries%direntry}
37 {dentries%direntry}
44 {fentries%fileentry}
38 {fentries%fileentry}
45 </table>
39 </table>
46
40
47 {footer}
41 {footer}
@@ -1,308 +1,318 b''
1 default = 'summary'
1 default = 'summary'
2 mimetype = 'text/html; charset={encoding}'
2 mimetype = 'text/html; charset={encoding}'
3 header = header.tmpl
3 header = header.tmpl
4 footer = footer.tmpl
4 footer = footer.tmpl
5 search = search.tmpl
5 search = search.tmpl
6 changelog = changelog.tmpl
6 changelog = changelog.tmpl
7 summary = summary.tmpl
7 summary = summary.tmpl
8 error = error.tmpl
8 error = error.tmpl
9 notfound = notfound.tmpl
9 notfound = notfound.tmpl
10
10
11 help = help.tmpl
11 help = help.tmpl
12 helptopics = helptopics.tmpl
12 helptopics = helptopics.tmpl
13
13
14 helpentry = '
14 helpentry = '
15 <tr><td>
15 <tr><td>
16 <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}">
16 <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}">
17 {if(basename, '{basename|escape}', '{topic|escape}')}
17 {if(basename, '{basename|escape}', '{topic|escape}')}
18 </a>
18 </a>
19 </td><td>
19 </td><td>
20 {summary|escape}
20 {summary|escape}
21 </td></tr>'
21 </td></tr>'
22
22
23 naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
23 naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
24 navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
24 navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
25 navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
25 navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
26 filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
26 filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
27 filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
27 filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
28 filenodelink = '
28 filenodelink = '
29 <tr class="parity{parity}">
29 <tr class="parity{parity}">
30 <td><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
30 <td><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
31 <td></td>
31 <td></td>
32 <td>
32 <td>
33 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
33 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
34 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
34 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
35 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
35 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
36 <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> |
36 <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> |
37 <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
37 <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
38 </td>
38 </td>
39 </tr>'
39 </tr>'
40 filenolink = '
40 filenolink = '
41 <tr class="parity{parity}">
41 <tr class="parity{parity}">
42 <td><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
42 <td><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
43 <td></td>
43 <td></td>
44 <td>
44 <td>
45 file |
45 file |
46 annotate |
46 annotate |
47 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
47 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
48 <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> |
48 <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> |
49 <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
49 <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
50 </td>
50 </td>
51 </tr>'
51 </tr>'
52
52
53 nav = '{before%naventry} {after%naventry}'
53 nav = '{before%naventry} {after%naventry}'
54 navshort = '{before%navshortentry}{after%navshortentry}'
54 navshort = '{before%navshortentry}{after%navshortentry}'
55 navgraph = '{before%navgraphentry}{after%navgraphentry}'
55 navgraph = '{before%navgraphentry}{after%navgraphentry}'
56 filenav = '{before%filenaventry}{after%filenaventry}'
56 filenav = '{before%filenaventry}{after%filenaventry}'
57
57
58 fileellipses = '...'
58 fileellipses = '...'
59 changelogentry = changelogentry.tmpl
59 changelogentry = changelogentry.tmpl
60 changeset = changeset.tmpl
60 changeset = changeset.tmpl
61 manifest = manifest.tmpl
61 manifest = manifest.tmpl
62 updirentry = '
63 <tr class="parity{upparity}">
64 <td>drwxr-xr-x</td>
65 <td></td>
66 <td></td>
67 <td>
68 <a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a>
69 </td>
70 <td class="link">&nbsp;</td>
71 </tr>'
62 direntry = '
72 direntry = '
63 <tr class="parity{parity}">
73 <tr class="parity{parity}">
64 <td>drwxr-xr-x</td>
74 <td>drwxr-xr-x</td>
65 <td></td>
75 <td></td>
66 <td></td>
76 <td></td>
67 <td>
77 <td>
68 <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a>
78 <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a>
69 <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a>
79 <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a>
70 </td>
80 </td>
71 <td><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></td>
81 <td><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></td>
72 </tr>'
82 </tr>'
73 fileentry = '
83 fileentry = '
74 <tr class="parity{parity}">
84 <tr class="parity{parity}">
75 <td>{permissions|permissions}</td>
85 <td>{permissions|permissions}</td>
76 <td>{date|isodate}</td>
86 <td>{date|isodate}</td>
77 <td>{size}</td>
87 <td>{size}</td>
78 <td><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td>
88 <td><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td>
79 <td>
89 <td>
80 <a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
90 <a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
81 <a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
91 <a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
82 <a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
92 <a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
83 </td>
93 </td>
84 </tr>'
94 </tr>'
85 filerevision = filerevision.tmpl
95 filerevision = filerevision.tmpl
86 fileannotate = fileannotate.tmpl
96 fileannotate = fileannotate.tmpl
87 filediff = filediff.tmpl
97 filediff = filediff.tmpl
88 filecomparison = filecomparison.tmpl
98 filecomparison = filecomparison.tmpl
89 filelog = filelog.tmpl
99 filelog = filelog.tmpl
90 fileline = '
100 fileline = '
91 <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>'
101 <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>'
92 annotateline = '
102 annotateline = '
93 <tr id="{lineid}" class="parity{parity}{ifeq(node, originalnode, ' thisrev')}">
103 <tr id="{lineid}" class="parity{parity}{ifeq(node, originalnode, ' thisrev')}">
94 <td class="annotate linenr parity{blockparity}">
104 <td class="annotate linenr parity{blockparity}">
95 {if(blockhead,
105 {if(blockhead,
96 '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}">
106 '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}">
97 {rev}
107 {rev}
98 </a>')}
108 </a>')}
99 <div class="annotate-info">
109 <div class="annotate-info">
100 <div>
110 <div>
101 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}">
111 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}">
102 {node|short}</a>
112 {node|short}</a>
103 {desc|escape|firstline}
113 {desc|escape|firstline}
104 </div>
114 </div>
105 <div><em>{author|obfuscate}</em></div>
115 <div><em>{author|obfuscate}</em></div>
106 <div>parents: {parents%annotateparent}</div>
116 <div>parents: {parents%annotateparent}</div>
107 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>
117 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>
108 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a>
118 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a>
109 </div>
119 </div>
110 </td>
120 </td>
111 <td class="lineno">
121 <td class="lineno">
112 <a href="#{lineid}">{linenumber}</a>
122 <a href="#{lineid}">{linenumber}</a>
113 </td>
123 </td>
114 <td class="source">{line|escape}</td>
124 <td class="source">{line|escape}</td>
115 </tr>'
125 </tr>'
116 annotateparent = '
126 annotateparent = '
117 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>'
127 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>'
118 difflineplus = '
128 difflineplus = '
119 <a href="#{lineid}"></a><span id="{lineid}" class="difflineplus">{strip(line|escape, '\r\n')}</span>'
129 <a href="#{lineid}"></a><span id="{lineid}" class="difflineplus">{strip(line|escape, '\r\n')}</span>'
120 difflineminus = '
130 difflineminus = '
121 <a href="#{lineid}"></a><span id="{lineid}" class="difflineminus">{strip(line|escape, '\r\n')}</span>'
131 <a href="#{lineid}"></a><span id="{lineid}" class="difflineminus">{strip(line|escape, '\r\n')}</span>'
122 difflineat = '
132 difflineat = '
123 <a href="#{lineid}"></a><span id="{lineid}" class="difflineat">{strip(line|escape, '\r\n')}</span>'
133 <a href="#{lineid}"></a><span id="{lineid}" class="difflineat">{strip(line|escape, '\r\n')}</span>'
124 diffline = '
134 diffline = '
125 <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>'
135 <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>'
126
136
127 comparisonblock ='
137 comparisonblock ='
128 <tbody class="block">
138 <tbody class="block">
129 {lines}
139 {lines}
130 </tbody>'
140 </tbody>'
131 comparisonline = '
141 comparisonline = '
132 <tr id="{lineid}">
142 <tr id="{lineid}">
133 <td class="source {type}"><a class="linenr" href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</td>
143 <td class="source {type}"><a class="linenr" href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</td>
134 <td class="source {type}"><a class="linenr" href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</td>
144 <td class="source {type}"><a class="linenr" href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</td>
135 </tr>'
145 </tr>'
136
146
137 changesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
147 changesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
138 changesetbranch = '<dt>branch</dt><dd>{name|escape}</dd>'
148 changesetbranch = '<dt>branch</dt><dd>{name|escape}</dd>'
139 changesetparent = '
149 changesetparent = '
140 <dt>parent {rev}</dt>
150 <dt>parent {rev}</dt>
141 <dd>{changesetlink}</dd>'
151 <dd>{changesetlink}</dd>'
142 changesetparentdiff = '
152 changesetparentdiff = '
143 <dt>parent {rev}</dt>
153 <dt>parent {rev}</dt>
144 <dd>{changesetlink} {ifeq(node, basenode, '(current diff)', '({difffrom})')}</dd>'
154 <dd>{changesetlink} {ifeq(node, basenode, '(current diff)', '({difffrom})')}</dd>'
145 difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>'
155 difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>'
146 filerevbranch = '<dt>branch</dt><dd>{name|escape}</dd>'
156 filerevbranch = '<dt>branch</dt><dd>{name|escape}</dd>'
147 filerevparent = '
157 filerevparent = '
148 <dt>parent {rev}</dt>
158 <dt>parent {rev}</dt>
149 <dd>
159 <dd>
150 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
160 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
151 {rename%filerename}{node|short}
161 {rename%filerename}{node|short}
152 </a>
162 </a>
153 </dd>'
163 </dd>'
154 filerename = '{file|escape}@'
164 filerename = '{file|escape}@'
155 filelogrename = '| <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>'
165 filelogrename = '| <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>'
156 fileannotateparent = '
166 fileannotateparent = '
157 <dt>parent {rev}</dt>
167 <dt>parent {rev}</dt>
158 <dd>
168 <dd>
159 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
169 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
160 {rename%filerename}{node|short}
170 {rename%filerename}{node|short}
161 </a>
171 </a>
162 </dd>'
172 </dd>'
163 changesetchild = '
173 changesetchild = '
164 <dt>child {rev}</dt>
174 <dt>child {rev}</dt>
165 <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
175 <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
166 filerevchild = '
176 filerevchild = '
167 <dt>child {rev}</dt>
177 <dt>child {rev}</dt>
168 <dd>
178 <dd>
169 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
179 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
170 </dd>'
180 </dd>'
171 fileannotatechild = '
181 fileannotatechild = '
172 <dt>child {rev}</dt>
182 <dt>child {rev}</dt>
173 <dd>
183 <dd>
174 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
184 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
175 </dd>'
185 </dd>'
176 tags = tags.tmpl
186 tags = tags.tmpl
177 tagentry = '
187 tagentry = '
178 <tr class="parity{parity}">
188 <tr class="parity{parity}">
179 <td class="nowrap age">{date|rfc822date}</td>
189 <td class="nowrap age">{date|rfc822date}</td>
180 <td><a href="{url|urlescape}rev/{tag|revescape}{sessionvars%urlparameter}">{tag|escape}</a></td>
190 <td><a href="{url|urlescape}rev/{tag|revescape}{sessionvars%urlparameter}">{tag|escape}</a></td>
181 <td class="nowrap">
191 <td class="nowrap">
182 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
192 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
183 <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
193 <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
184 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
194 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
185 </td>
195 </td>
186 </tr>'
196 </tr>'
187 bookmarks = bookmarks.tmpl
197 bookmarks = bookmarks.tmpl
188 bookmarkentry = '
198 bookmarkentry = '
189 <tr class="parity{parity}">
199 <tr class="parity{parity}">
190 <td class="nowrap age">{date|rfc822date}</td>
200 <td class="nowrap age">{date|rfc822date}</td>
191 <td><a href="{url|urlescape}rev/{bookmark|revescape}{sessionvars%urlparameter}">{bookmark|escape}</a></td>
201 <td><a href="{url|urlescape}rev/{bookmark|revescape}{sessionvars%urlparameter}">{bookmark|escape}</a></td>
192 <td class="nowrap">
202 <td class="nowrap">
193 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
203 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
194 <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
204 <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
195 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
205 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
196 </td>
206 </td>
197 </tr>'
207 </tr>'
198 branches = branches.tmpl
208 branches = branches.tmpl
199 branchentry = '
209 branchentry = '
200 <tr class="parity{parity}">
210 <tr class="parity{parity}">
201 <td class="nowrap age">{date|rfc822date}</td>
211 <td class="nowrap age">{date|rfc822date}</td>
202 <td class="{status}"><a href="{url|urlescape}shortlog/{branch|revescape}{sessionvars%urlparameter}">{branch|escape}</a></td>
212 <td class="{status}"><a href="{url|urlescape}shortlog/{branch|revescape}{sessionvars%urlparameter}">{branch|escape}</a></td>
203 <td class="nowrap">
213 <td class="nowrap">
204 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
214 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
205 <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
215 <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
206 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
216 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
207 </td>
217 </td>
208 </tr>'
218 </tr>'
209 diffblock = '<div class="diffblock"><pre class="sourcelines">{lines}</pre></div>'
219 diffblock = '<div class="diffblock"><pre class="sourcelines">{lines}</pre></div>'
210 filediffparent = '
220 filediffparent = '
211 <dt>parent {rev}</dt>
221 <dt>parent {rev}</dt>
212 <dd><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
222 <dd><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
213 filecompparent = '
223 filecompparent = '
214 <dt>parent {rev}</dt>
224 <dt>parent {rev}</dt>
215 <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
225 <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
216 filediffchild = '
226 filediffchild = '
217 <dt>child {rev}</dt>
227 <dt>child {rev}</dt>
218 <dd><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
228 <dd><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
219 filecompchild = '
229 filecompchild = '
220 <dt>child {rev}</dt>
230 <dt>child {rev}</dt>
221 <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
231 <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
222 shortlog = shortlog.tmpl
232 shortlog = shortlog.tmpl
223 phasetag = '{ifeq(phase, 'public', '', '<span class="phasetag" title="{phase|escape}">{phase|escape}</span> ')}'
233 phasetag = '{ifeq(phase, 'public', '', '<span class="phasetag" title="{phase|escape}">{phase|escape}</span> ')}'
224 obsoletetag = '{if(obsolete, '<span class="obsoletetag" title="obsolete">obsolete</span> ')}'
234 obsoletetag = '{if(obsolete, '<span class="obsoletetag" title="obsolete">obsolete</span> ')}'
225 instabilitytag = '<span class="instabilitytag" title="{instability|escape}">{instability|escape}</span> '
235 instabilitytag = '<span class="instabilitytag" title="{instability|escape}">{instability|escape}</span> '
226 tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> '
236 tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> '
227 branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> '
237 branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> '
228 inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> '
238 inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> '
229 bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> '
239 bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> '
230 alltags = '<span class="logtags">{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>'
240 alltags = '<span class="logtags">{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>'
231 successorlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
241 successorlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
232 obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}'
242 obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}'
233 obsfateverb = '{obsfateverb(successors, markers)}'
243 obsfateverb = '{obsfateverb(successors, markers)}'
234 obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}'
244 obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}'
235 obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}'
245 obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}'
236 obsfatedate = '{if(obsfatedate(markers), ' {ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), '<span class="age">{min(obsfatedate(markers))|rfc822date}</span>', 'between <span class="age">{min(obsfatedate(markers))|rfc822date}</span> and <span class="age">{max(obsfatedate(markers))|rfc822date}</span>')}')}'
246 obsfatedate = '{if(obsfatedate(markers), ' {ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), '<span class="age">{min(obsfatedate(markers))|rfc822date}</span>', 'between <span class="age">{min(obsfatedate(markers))|rfc822date}</span> and <span class="age">{max(obsfatedate(markers))|rfc822date}</span>')}')}'
237 obsfateentry = '
247 obsfateentry = '
238 <dt>obsolete</dt>
248 <dt>obsolete</dt>
239 <dd>{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}</dd>'
249 <dd>{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}</dd>'
240 instabilitychangesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
250 instabilitychangesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
241 divergentnode = '{instabilitychangesetlink} ({phase})'
251 divergentnode = '{instabilitychangesetlink} ({phase})'
242 whyunstableentry = '
252 whyunstableentry = '
243 <dt>unstable</dt>
253 <dt>unstable</dt>
244 <dd>{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}</dd>'
254 <dd>{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}</dd>'
245 shortlogentry = '
255 shortlogentry = '
246 <tr class="parity{parity}">
256 <tr class="parity{parity}">
247 <td class="nowrap age">{date|rfc822date}</td>
257 <td class="nowrap age">{date|rfc822date}</td>
248 <td>{author|person}</td>
258 <td>{author|person}</td>
249 <td>
259 <td>
250 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
260 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
251 {desc|strip|firstline|escape|nonempty}
261 {desc|strip|firstline|escape|nonempty}
252 {alltags}
262 {alltags}
253 </a>
263 </a>
254 </td>
264 </td>
255 <td class="nowrap">
265 <td class="nowrap">
256 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
266 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
257 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
267 <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>
258 </td>
268 </td>
259 </tr>'
269 </tr>'
260 filelogentry = '
270 filelogentry = '
261 <tr class="parity{parity}">
271 <tr class="parity{parity}">
262 <td class="nowrap age">{date|rfc822date}</td>
272 <td class="nowrap age">{date|rfc822date}</td>
263 <td>{author|person}</td>
273 <td>{author|person}</td>
264 <td>
274 <td>
265 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
275 <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">
266 {desc|strip|firstline|escape|nonempty}
276 {desc|strip|firstline|escape|nonempty}
267 {alltags}
277 {alltags}
268 </a>
278 </a>
269 </td>
279 </td>
270 <td class="nowrap">
280 <td class="nowrap">
271 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
281 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
272 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
282 <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
273 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
283 <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
274 {rename%filelogrename}
284 {rename%filelogrename}
275 </td>
285 </td>
276 </tr>'
286 </tr>'
277 archiveentry = '<li><a href="{url|urlescape}archive/{symrev}{extension}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a></li>'
287 archiveentry = '<li><a href="{url|urlescape}archive/{symrev}{extension}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a></li>'
278 indexentry = '
288 indexentry = '
279 <tr class="parity{parity}">
289 <tr class="parity{parity}">
280 <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td>
290 <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td>
281 <td>{description}</td>
291 <td>{description}</td>
282 <td>{contact|obfuscate}</td>
292 <td>{contact|obfuscate}</td>
283 <td class="age">{lastchange|rfc822date}</td>
293 <td class="age">{lastchange|rfc822date}</td>
284 <td class="indexlinks">{archives%indexarchiveentry}</td>
294 <td class="indexlinks">{archives%indexarchiveentry}</td>
285 <td>
295 <td>
286 {if(isdirectory, '',
296 {if(isdirectory, '',
287 '<div class="rss_logo">
297 '<div class="rss_logo">
288 <a href="{url|urlescape}rss-log">RSS</a> <a href="{url|urlescape}atom-log">Atom</a>
298 <a href="{url|urlescape}rss-log">RSS</a> <a href="{url|urlescape}atom-log">Atom</a>
289 </div>'
299 </div>'
290 )}
300 )}
291 </td>
301 </td>
292 </tr>\n'
302 </tr>\n'
293 indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension}">{type|escape}</a> '
303 indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension}">{type|escape}</a> '
294 index = index.tmpl
304 index = index.tmpl
295 urlparameter = '{separator}{name}={value|urlescape}'
305 urlparameter = '{separator}{name}={value|urlescape}'
296 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
306 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
297 graph = graph.tmpl
307 graph = graph.tmpl
298 graphentry = graphentry.tmpl
308 graphentry = graphentry.tmpl
299 breadcrumb = '&gt; <a href="{url|urlescape}">{name|escape}</a> '
309 breadcrumb = '&gt; <a href="{url|urlescape}">{name|escape}</a> '
300
310
301 searchform = '
311 searchform = '
302 <form action="{url|urlescape}log">
312 <form action="{url|urlescape}log">
303 {sessionvars%hiddenformentry}
313 {sessionvars%hiddenformentry}
304 <dl class="search">
314 <dl class="search">
305 <dt><label>Search: </label></dt>
315 <dt><label>Search: </label></dt>
306 <dd><input type="text" name="rev" value="{query|escape}" /></dd>
316 <dd><input type="text" name="rev" value="{query|escape}" /></dd>
307 </dl>
317 </dl>
308 </form>'
318 </form>'
@@ -1,567 +1,561 b''
1 #require serve
1 #require serve
2
2
3 Test chains of near empty directories, terminating 3 different ways:
3 Test chains of near empty directories, terminating 3 different ways:
4 - a1: file at level 4 (deepest)
4 - a1: file at level 4 (deepest)
5 - b1: two dirs at level 3
5 - b1: two dirs at level 3
6 - d1: file at level 2
6 - d1: file at level 2
7
7
8 Set up the repo
8 Set up the repo
9
9
10 $ hg init test
10 $ hg init test
11 $ cd test
11 $ cd test
12 $ mkdir -p a1/a2/a3/a4
12 $ mkdir -p a1/a2/a3/a4
13 $ mkdir -p b1/b2/b3/b4
13 $ mkdir -p b1/b2/b3/b4
14 $ mkdir -p b1/b2/b3/c4
14 $ mkdir -p b1/b2/b3/c4
15 $ mkdir -p d1/d2/d3/d4
15 $ mkdir -p d1/d2/d3/d4
16 $ echo foo > a1/a2/a3/a4/foo
16 $ echo foo > a1/a2/a3/a4/foo
17 $ echo foo > b1/b2/b3/b4/foo
17 $ echo foo > b1/b2/b3/b4/foo
18 $ echo foo > b1/b2/b3/c4/foo
18 $ echo foo > b1/b2/b3/c4/foo
19 $ echo foo > d1/d2/d3/d4/foo
19 $ echo foo > d1/d2/d3/d4/foo
20 $ echo foo > d1/d2/foo
20 $ echo foo > d1/d2/foo
21 $ hg ci -Ama
21 $ hg ci -Ama
22 adding a1/a2/a3/a4/foo
22 adding a1/a2/a3/a4/foo
23 adding b1/b2/b3/b4/foo
23 adding b1/b2/b3/b4/foo
24 adding b1/b2/b3/c4/foo
24 adding b1/b2/b3/c4/foo
25 adding d1/d2/d3/d4/foo
25 adding d1/d2/d3/d4/foo
26 adding d1/d2/foo
26 adding d1/d2/foo
27 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
27 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
28 $ cat hg.pid >> $DAEMON_PIDS
28 $ cat hg.pid >> $DAEMON_PIDS
29
29
30 manifest with descending (paper)
30 manifest with descending (paper)
31
31
32 $ get-with-headers.py $LOCALIP:$HGPORT 'file'
32 $ get-with-headers.py $LOCALIP:$HGPORT 'file'
33 200 Script output follows
33 200 Script output follows
34
34
35 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
35 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
36 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
36 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
37 <head>
37 <head>
38 <link rel="icon" href="/static/hgicon.png" type="image/png" />
38 <link rel="icon" href="/static/hgicon.png" type="image/png" />
39 <meta name="robots" content="index, nofollow" />
39 <meta name="robots" content="index, nofollow" />
40 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
40 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
41 <script type="text/javascript" src="/static/mercurial.js"></script>
41 <script type="text/javascript" src="/static/mercurial.js"></script>
42
42
43 <title>test: c9f45f7a1659 /</title>
43 <title>test: c9f45f7a1659 /</title>
44 </head>
44 </head>
45 <body>
45 <body>
46
46
47 <div class="container">
47 <div class="container">
48 <div class="menu">
48 <div class="menu">
49 <div class="logo">
49 <div class="logo">
50 <a href="https://mercurial-scm.org/">
50 <a href="https://mercurial-scm.org/">
51 <img src="/static/hglogo.png" alt="mercurial" /></a>
51 <img src="/static/hglogo.png" alt="mercurial" /></a>
52 </div>
52 </div>
53 <ul>
53 <ul>
54 <li><a href="/shortlog/tip">log</a></li>
54 <li><a href="/shortlog/tip">log</a></li>
55 <li><a href="/graph/tip">graph</a></li>
55 <li><a href="/graph/tip">graph</a></li>
56 <li><a href="/tags">tags</a></li>
56 <li><a href="/tags">tags</a></li>
57 <li><a href="/bookmarks">bookmarks</a></li>
57 <li><a href="/bookmarks">bookmarks</a></li>
58 <li><a href="/branches">branches</a></li>
58 <li><a href="/branches">branches</a></li>
59 </ul>
59 </ul>
60 <ul>
60 <ul>
61 <li><a href="/rev/tip">changeset</a></li>
61 <li><a href="/rev/tip">changeset</a></li>
62 <li class="active">browse</li>
62 <li class="active">browse</li>
63 </ul>
63 </ul>
64 <ul>
64 <ul>
65
65
66 </ul>
66 </ul>
67 <ul>
67 <ul>
68 <li><a href="/help">help</a></li>
68 <li><a href="/help">help</a></li>
69 </ul>
69 </ul>
70 </div>
70 </div>
71
71
72 <div class="main">
72 <div class="main">
73 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
73 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
74 <h3>
74 <h3>
75 directory / @ 0:<a href="/rev/c9f45f7a1659">c9f45f7a1659</a>
75 directory / @ 0:<a href="/rev/c9f45f7a1659">c9f45f7a1659</a>
76 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
76 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
77 </h3>
77 </h3>
78
78
79
79
80 <form class="search" action="/log">
80 <form class="search" action="/log">
81
81
82 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
82 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
83 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
83 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
84 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
84 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
85 </form>
85 </form>
86
86
87 <table class="bigtable">
87 <table class="bigtable">
88 <thead>
88 <thead>
89 <tr>
89 <tr>
90 <th class="name">name</th>
90 <th class="name">name</th>
91 <th class="size">size</th>
91 <th class="size">size</th>
92 <th class="permissions">permissions</th>
92 <th class="permissions">permissions</th>
93 </tr>
93 </tr>
94 </thead>
94 </thead>
95 <tbody class="stripes2">
95 <tbody class="stripes2">
96
96
97
97
98 <tr class="fileline">
98 <tr class="fileline">
99 <td class="name">
99 <td class="name">
100 <a href="/file/tip/a1">
100 <a href="/file/tip/a1">
101 <img src="/static/coal-folder.png" alt="dir."/> a1/
101 <img src="/static/coal-folder.png" alt="dir."/> a1/
102 </a>
102 </a>
103 <a href="/file/tip/a1/a2/a3/a4">
103 <a href="/file/tip/a1/a2/a3/a4">
104 a2/a3/a4
104 a2/a3/a4
105 </a>
105 </a>
106 </td>
106 </td>
107 <td class="size"></td>
107 <td class="size"></td>
108 <td class="permissions">drwxr-xr-x</td>
108 <td class="permissions">drwxr-xr-x</td>
109 </tr>
109 </tr>
110 <tr class="fileline">
110 <tr class="fileline">
111 <td class="name">
111 <td class="name">
112 <a href="/file/tip/b1">
112 <a href="/file/tip/b1">
113 <img src="/static/coal-folder.png" alt="dir."/> b1/
113 <img src="/static/coal-folder.png" alt="dir."/> b1/
114 </a>
114 </a>
115 <a href="/file/tip/b1/b2/b3">
115 <a href="/file/tip/b1/b2/b3">
116 b2/b3
116 b2/b3
117 </a>
117 </a>
118 </td>
118 </td>
119 <td class="size"></td>
119 <td class="size"></td>
120 <td class="permissions">drwxr-xr-x</td>
120 <td class="permissions">drwxr-xr-x</td>
121 </tr>
121 </tr>
122 <tr class="fileline">
122 <tr class="fileline">
123 <td class="name">
123 <td class="name">
124 <a href="/file/tip/d1">
124 <a href="/file/tip/d1">
125 <img src="/static/coal-folder.png" alt="dir."/> d1/
125 <img src="/static/coal-folder.png" alt="dir."/> d1/
126 </a>
126 </a>
127 <a href="/file/tip/d1/d2">
127 <a href="/file/tip/d1/d2">
128 d2
128 d2
129 </a>
129 </a>
130 </td>
130 </td>
131 <td class="size"></td>
131 <td class="size"></td>
132 <td class="permissions">drwxr-xr-x</td>
132 <td class="permissions">drwxr-xr-x</td>
133 </tr>
133 </tr>
134
134
135 </tbody>
135 </tbody>
136 </table>
136 </table>
137 </div>
137 </div>
138 </div>
138 </div>
139
139
140
140
141 </body>
141 </body>
142 </html>
142 </html>
143
143
144
144
145 manifest with descending (coal)
145 manifest with descending (coal)
146
146
147 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=coal'
147 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=coal'
148 200 Script output follows
148 200 Script output follows
149
149
150 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
150 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
151 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
151 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
152 <head>
152 <head>
153 <link rel="icon" href="/static/hgicon.png" type="image/png" />
153 <link rel="icon" href="/static/hgicon.png" type="image/png" />
154 <meta name="robots" content="index, nofollow" />
154 <meta name="robots" content="index, nofollow" />
155 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
155 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
156 <link rel="stylesheet" href="/static/style-extra-coal.css" type="text/css" />
156 <link rel="stylesheet" href="/static/style-extra-coal.css" type="text/css" />
157 <script type="text/javascript" src="/static/mercurial.js"></script>
157 <script type="text/javascript" src="/static/mercurial.js"></script>
158
158
159 <title>test: c9f45f7a1659 /</title>
159 <title>test: c9f45f7a1659 /</title>
160 </head>
160 </head>
161 <body>
161 <body>
162
162
163 <div class="container">
163 <div class="container">
164 <div class="menu">
164 <div class="menu">
165 <div class="logo">
165 <div class="logo">
166 <a href="https://mercurial-scm.org/">
166 <a href="https://mercurial-scm.org/">
167 <img src="/static/hglogo.png" alt="mercurial" /></a>
167 <img src="/static/hglogo.png" alt="mercurial" /></a>
168 </div>
168 </div>
169 <ul>
169 <ul>
170 <li><a href="/shortlog/tip?style=coal">log</a></li>
170 <li><a href="/shortlog/tip?style=coal">log</a></li>
171 <li><a href="/graph/tip?style=coal">graph</a></li>
171 <li><a href="/graph/tip?style=coal">graph</a></li>
172 <li><a href="/tags?style=coal">tags</a></li>
172 <li><a href="/tags?style=coal">tags</a></li>
173 <li><a href="/bookmarks?style=coal">bookmarks</a></li>
173 <li><a href="/bookmarks?style=coal">bookmarks</a></li>
174 <li><a href="/branches?style=coal">branches</a></li>
174 <li><a href="/branches?style=coal">branches</a></li>
175 </ul>
175 </ul>
176 <ul>
176 <ul>
177 <li><a href="/rev/tip?style=coal">changeset</a></li>
177 <li><a href="/rev/tip?style=coal">changeset</a></li>
178 <li class="active">browse</li>
178 <li class="active">browse</li>
179 </ul>
179 </ul>
180 <ul>
180 <ul>
181
181
182 </ul>
182 </ul>
183 <ul>
183 <ul>
184 <li><a href="/help?style=coal">help</a></li>
184 <li><a href="/help?style=coal">help</a></li>
185 </ul>
185 </ul>
186 </div>
186 </div>
187
187
188 <div class="main">
188 <div class="main">
189 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
189 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
190 <h3>
190 <h3>
191 directory / @ 0:<a href="/rev/c9f45f7a1659?style=coal">c9f45f7a1659</a>
191 directory / @ 0:<a href="/rev/c9f45f7a1659?style=coal">c9f45f7a1659</a>
192 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
192 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span>
193 </h3>
193 </h3>
194
194
195
195
196 <form class="search" action="/log">
196 <form class="search" action="/log">
197 <input type="hidden" name="style" value="coal" />
197 <input type="hidden" name="style" value="coal" />
198 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
198 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
199 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
199 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
200 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
200 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
201 </form>
201 </form>
202
202
203 <table class="bigtable">
203 <table class="bigtable">
204 <thead>
204 <thead>
205 <tr>
205 <tr>
206 <th class="name">name</th>
206 <th class="name">name</th>
207 <th class="size">size</th>
207 <th class="size">size</th>
208 <th class="permissions">permissions</th>
208 <th class="permissions">permissions</th>
209 </tr>
209 </tr>
210 </thead>
210 </thead>
211 <tbody class="stripes2">
211 <tbody class="stripes2">
212
212
213
213
214 <tr class="fileline">
214 <tr class="fileline">
215 <td class="name">
215 <td class="name">
216 <a href="/file/tip/a1?style=coal">
216 <a href="/file/tip/a1?style=coal">
217 <img src="/static/coal-folder.png" alt="dir."/> a1/
217 <img src="/static/coal-folder.png" alt="dir."/> a1/
218 </a>
218 </a>
219 <a href="/file/tip/a1/a2/a3/a4?style=coal">
219 <a href="/file/tip/a1/a2/a3/a4?style=coal">
220 a2/a3/a4
220 a2/a3/a4
221 </a>
221 </a>
222 </td>
222 </td>
223 <td class="size"></td>
223 <td class="size"></td>
224 <td class="permissions">drwxr-xr-x</td>
224 <td class="permissions">drwxr-xr-x</td>
225 </tr>
225 </tr>
226 <tr class="fileline">
226 <tr class="fileline">
227 <td class="name">
227 <td class="name">
228 <a href="/file/tip/b1?style=coal">
228 <a href="/file/tip/b1?style=coal">
229 <img src="/static/coal-folder.png" alt="dir."/> b1/
229 <img src="/static/coal-folder.png" alt="dir."/> b1/
230 </a>
230 </a>
231 <a href="/file/tip/b1/b2/b3?style=coal">
231 <a href="/file/tip/b1/b2/b3?style=coal">
232 b2/b3
232 b2/b3
233 </a>
233 </a>
234 </td>
234 </td>
235 <td class="size"></td>
235 <td class="size"></td>
236 <td class="permissions">drwxr-xr-x</td>
236 <td class="permissions">drwxr-xr-x</td>
237 </tr>
237 </tr>
238 <tr class="fileline">
238 <tr class="fileline">
239 <td class="name">
239 <td class="name">
240 <a href="/file/tip/d1?style=coal">
240 <a href="/file/tip/d1?style=coal">
241 <img src="/static/coal-folder.png" alt="dir."/> d1/
241 <img src="/static/coal-folder.png" alt="dir."/> d1/
242 </a>
242 </a>
243 <a href="/file/tip/d1/d2?style=coal">
243 <a href="/file/tip/d1/d2?style=coal">
244 d2
244 d2
245 </a>
245 </a>
246 </td>
246 </td>
247 <td class="size"></td>
247 <td class="size"></td>
248 <td class="permissions">drwxr-xr-x</td>
248 <td class="permissions">drwxr-xr-x</td>
249 </tr>
249 </tr>
250
250
251 </tbody>
251 </tbody>
252 </table>
252 </table>
253 </div>
253 </div>
254 </div>
254 </div>
255
255
256
256
257 </body>
257 </body>
258 </html>
258 </html>
259
259
260
260
261 manifest with descending (monoblue)
261 manifest with descending (monoblue)
262
262
263 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=monoblue'
263 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=monoblue'
264 200 Script output follows
264 200 Script output follows
265
265
266 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
266 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
267 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
267 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
268 <head>
268 <head>
269 <link rel="icon" href="/static/hgicon.png" type="image/png" />
269 <link rel="icon" href="/static/hgicon.png" type="image/png" />
270 <meta name="robots" content="index, nofollow"/>
270 <meta name="robots" content="index, nofollow"/>
271 <link rel="stylesheet" href="/static/style-monoblue.css" type="text/css" />
271 <link rel="stylesheet" href="/static/style-monoblue.css" type="text/css" />
272 <script type="text/javascript" src="/static/mercurial.js"></script>
272 <script type="text/javascript" src="/static/mercurial.js"></script>
273
273
274 <title>test: files</title>
274 <title>test: files</title>
275 <link rel="alternate" type="application/atom+xml" href="/atom-log" title="Atom feed for test"/>
275 <link rel="alternate" type="application/atom+xml" href="/atom-log" title="Atom feed for test"/>
276 <link rel="alternate" type="application/rss+xml" href="/rss-log" title="RSS feed for test"/>
276 <link rel="alternate" type="application/rss+xml" href="/rss-log" title="RSS feed for test"/>
277 </head>
277 </head>
278
278
279 <body>
279 <body>
280 <div id="container">
280 <div id="container">
281 <div class="page-header">
281 <div class="page-header">
282 <h1 class="breadcrumb"><a href="/">Mercurial</a> / files</h1>
282 <h1 class="breadcrumb"><a href="/">Mercurial</a> / files</h1>
283
283
284
284
285 <form action="/log">
285 <form action="/log">
286 <input type="hidden" name="style" value="monoblue" />
286 <input type="hidden" name="style" value="monoblue" />
287 <dl class="search">
287 <dl class="search">
288 <dt><label>Search: </label></dt>
288 <dt><label>Search: </label></dt>
289 <dd><input type="text" name="rev" value="" /></dd>
289 <dd><input type="text" name="rev" value="" /></dd>
290 </dl>
290 </dl>
291 </form>
291 </form>
292
292
293 <ul class="page-nav">
293 <ul class="page-nav">
294 <li><a href="/summary?style=monoblue">summary</a></li>
294 <li><a href="/summary?style=monoblue">summary</a></li>
295 <li><a href="/shortlog?style=monoblue">shortlog</a></li>
295 <li><a href="/shortlog?style=monoblue">shortlog</a></li>
296 <li><a href="/changelog?style=monoblue">changelog</a></li>
296 <li><a href="/changelog?style=monoblue">changelog</a></li>
297 <li><a href="/graph/tip?style=monoblue">graph</a></li>
297 <li><a href="/graph/tip?style=monoblue">graph</a></li>
298 <li><a href="/tags?style=monoblue">tags</a></li>
298 <li><a href="/tags?style=monoblue">tags</a></li>
299 <li><a href="/bookmarks?style=monoblue">bookmarks</a></li>
299 <li><a href="/bookmarks?style=monoblue">bookmarks</a></li>
300 <li><a href="/branches?style=monoblue">branches</a></li>
300 <li><a href="/branches?style=monoblue">branches</a></li>
301 <li class="current">files</li>
301 <li class="current">files</li>
302 <li><a href="/help?style=monoblue">help</a></li>
302 <li><a href="/help?style=monoblue">help</a></li>
303 </ul>
303 </ul>
304 </div>
304 </div>
305
305
306 <ul class="submenu">
306 <ul class="submenu">
307 <li><a href="/rev/tip?style=monoblue">changeset</a></li>
307 <li><a href="/rev/tip?style=monoblue">changeset</a></li>
308
308
309 </ul>
309 </ul>
310
310
311 <h2 class="no-link no-border">files</h2>
311 <h2 class="no-link no-border">files</h2>
312 <p class="files">/ <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="default">default</span> <span class="tagtag" title="tip">tip</span> </span></p>
312 <p class="files">/ <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="default">default</span> <span class="tagtag" title="tip">tip</span> </span></p>
313
313
314 <table>
314 <table>
315 <tr class="parity0">
315
316 <td>drwxr-xr-x</td>
317 <td></td>
318 <td></td>
319 <td><a href="/file/tip/?style=monoblue">[up]</a></td>
320 <td class="link">&nbsp;</td>
321 </tr>
322
316
323 <tr class="parity1">
317 <tr class="parity1">
324 <td>drwxr-xr-x</td>
318 <td>drwxr-xr-x</td>
325 <td></td>
319 <td></td>
326 <td></td>
320 <td></td>
327 <td>
321 <td>
328 <a href="/file/tip/a1?style=monoblue">a1</a>
322 <a href="/file/tip/a1?style=monoblue">a1</a>
329 <a href="/file/tip/a1/a2/a3/a4?style=monoblue">a2/a3/a4</a>
323 <a href="/file/tip/a1/a2/a3/a4?style=monoblue">a2/a3/a4</a>
330 </td>
324 </td>
331 <td><a href="/file/tip/a1?style=monoblue">files</a></td>
325 <td><a href="/file/tip/a1?style=monoblue">files</a></td>
332 </tr>
326 </tr>
333 <tr class="parity0">
327 <tr class="parity0">
334 <td>drwxr-xr-x</td>
328 <td>drwxr-xr-x</td>
335 <td></td>
329 <td></td>
336 <td></td>
330 <td></td>
337 <td>
331 <td>
338 <a href="/file/tip/b1?style=monoblue">b1</a>
332 <a href="/file/tip/b1?style=monoblue">b1</a>
339 <a href="/file/tip/b1/b2/b3?style=monoblue">b2/b3</a>
333 <a href="/file/tip/b1/b2/b3?style=monoblue">b2/b3</a>
340 </td>
334 </td>
341 <td><a href="/file/tip/b1?style=monoblue">files</a></td>
335 <td><a href="/file/tip/b1?style=monoblue">files</a></td>
342 </tr>
336 </tr>
343 <tr class="parity1">
337 <tr class="parity1">
344 <td>drwxr-xr-x</td>
338 <td>drwxr-xr-x</td>
345 <td></td>
339 <td></td>
346 <td></td>
340 <td></td>
347 <td>
341 <td>
348 <a href="/file/tip/d1?style=monoblue">d1</a>
342 <a href="/file/tip/d1?style=monoblue">d1</a>
349 <a href="/file/tip/d1/d2?style=monoblue">d2</a>
343 <a href="/file/tip/d1/d2?style=monoblue">d2</a>
350 </td>
344 </td>
351 <td><a href="/file/tip/d1?style=monoblue">files</a></td>
345 <td><a href="/file/tip/d1?style=monoblue">files</a></td>
352 </tr>
346 </tr>
353
347
354 </table>
348 </table>
355
349
356 <div class="page-footer">
350 <div class="page-footer">
357 <p>Mercurial Repository: test</p>
351 <p>Mercurial Repository: test</p>
358 <ul class="rss-logo">
352 <ul class="rss-logo">
359 <li><a href="/rss-log">RSS</a></li>
353 <li><a href="/rss-log">RSS</a></li>
360 <li><a href="/atom-log">Atom</a></li>
354 <li><a href="/atom-log">Atom</a></li>
361 </ul>
355 </ul>
362
356
363 </div>
357 </div>
364
358
365 <div id="powered-by">
359 <div id="powered-by">
366 <p><a href="https://mercurial-scm.org/" title="Mercurial"><img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a></p>
360 <p><a href="https://mercurial-scm.org/" title="Mercurial"><img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a></p>
367 </div>
361 </div>
368
362
369 </div>
363 </div>
370
364
371 </body>
365 </body>
372 </html>
366 </html>
373
367
374
368
375 manifest with descending (gitweb)
369 manifest with descending (gitweb)
376
370
377 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=gitweb'
371 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=gitweb'
378 200 Script output follows
372 200 Script output follows
379
373
380 <?xml version="1.0" encoding="ascii"?>
374 <?xml version="1.0" encoding="ascii"?>
381 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
375 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
382 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
376 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
383 <head>
377 <head>
384 <link rel="icon" href="/static/hgicon.png" type="image/png" />
378 <link rel="icon" href="/static/hgicon.png" type="image/png" />
385 <meta name="robots" content="index, nofollow"/>
379 <meta name="robots" content="index, nofollow"/>
386 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
380 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
387 <script type="text/javascript" src="/static/mercurial.js"></script>
381 <script type="text/javascript" src="/static/mercurial.js"></script>
388
382
389 <title>test: files</title>
383 <title>test: files</title>
390 <link rel="alternate" type="application/atom+xml"
384 <link rel="alternate" type="application/atom+xml"
391 href="/atom-log" title="Atom feed for test"/>
385 href="/atom-log" title="Atom feed for test"/>
392 <link rel="alternate" type="application/rss+xml"
386 <link rel="alternate" type="application/rss+xml"
393 href="/rss-log" title="RSS feed for test"/>
387 href="/rss-log" title="RSS feed for test"/>
394 </head>
388 </head>
395 <body>
389 <body>
396
390
397 <div class="page_header">
391 <div class="page_header">
398 <a href="https://mercurial-scm.org/" title="Mercurial" style="float: right;">Mercurial</a>
392 <a href="https://mercurial-scm.org/" title="Mercurial" style="float: right;">Mercurial</a>
399 <a href="/">Mercurial</a> / files
393 <a href="/">Mercurial</a> / files
400 </div>
394 </div>
401
395
402 <div class="page_nav">
396 <div class="page_nav">
403 <div>
397 <div>
404 <a href="/summary?style=gitweb">summary</a> |
398 <a href="/summary?style=gitweb">summary</a> |
405 <a href="/shortlog?style=gitweb">shortlog</a> |
399 <a href="/shortlog?style=gitweb">shortlog</a> |
406 <a href="/log?style=gitweb">changelog</a> |
400 <a href="/log?style=gitweb">changelog</a> |
407 <a href="/graph?style=gitweb">graph</a> |
401 <a href="/graph?style=gitweb">graph</a> |
408 <a href="/tags?style=gitweb">tags</a> |
402 <a href="/tags?style=gitweb">tags</a> |
409 <a href="/bookmarks?style=gitweb">bookmarks</a> |
403 <a href="/bookmarks?style=gitweb">bookmarks</a> |
410 <a href="/branches?style=gitweb">branches</a> |
404 <a href="/branches?style=gitweb">branches</a> |
411 files |
405 files |
412 <a href="/rev/tip?style=gitweb">changeset</a> |
406 <a href="/rev/tip?style=gitweb">changeset</a> |
413 <a href="/help?style=gitweb">help</a>
407 <a href="/help?style=gitweb">help</a>
414 </div>
408 </div>
415
409
416 <div class="search">
410 <div class="search">
417 <form id="searchform" action="/log">
411 <form id="searchform" action="/log">
418 <input type="hidden" name="style" value="gitweb" />
412 <input type="hidden" name="style" value="gitweb" />
419 <input name="rev" type="text" value="" size="40" />
413 <input name="rev" type="text" value="" size="40" />
420 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
414 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
421 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
415 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
422 </form>
416 </form>
423 </div>
417 </div>
424 </div>
418 </div>
425
419
426 <div class="title">/ <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="default">default</span> <span class="tagtag" title="tip">tip</span> </span></div>
420 <div class="title">/ <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="default">default</span> <span class="tagtag" title="tip">tip</span> </span></div>
427 <table cellspacing="0">
421 <table cellspacing="0">
428
422
429
423
430 <tr class="parity1">
424 <tr class="parity1">
431 <td style="font-family:monospace">drwxr-xr-x</td>
425 <td style="font-family:monospace">drwxr-xr-x</td>
432 <td style="font-family:monospace"></td>
426 <td style="font-family:monospace"></td>
433 <td style="font-family:monospace"></td>
427 <td style="font-family:monospace"></td>
434 <td>
428 <td>
435 <a href="/file/tip/a1?style=gitweb">a1</a>
429 <a href="/file/tip/a1?style=gitweb">a1</a>
436 <a href="/file/tip/a1/a2/a3/a4?style=gitweb">a2/a3/a4</a>
430 <a href="/file/tip/a1/a2/a3/a4?style=gitweb">a2/a3/a4</a>
437 </td>
431 </td>
438 <td class="link">
432 <td class="link">
439 <a href="/file/tip/a1?style=gitweb">files</a>
433 <a href="/file/tip/a1?style=gitweb">files</a>
440 </td>
434 </td>
441 </tr>
435 </tr>
442 <tr class="parity0">
436 <tr class="parity0">
443 <td style="font-family:monospace">drwxr-xr-x</td>
437 <td style="font-family:monospace">drwxr-xr-x</td>
444 <td style="font-family:monospace"></td>
438 <td style="font-family:monospace"></td>
445 <td style="font-family:monospace"></td>
439 <td style="font-family:monospace"></td>
446 <td>
440 <td>
447 <a href="/file/tip/b1?style=gitweb">b1</a>
441 <a href="/file/tip/b1?style=gitweb">b1</a>
448 <a href="/file/tip/b1/b2/b3?style=gitweb">b2/b3</a>
442 <a href="/file/tip/b1/b2/b3?style=gitweb">b2/b3</a>
449 </td>
443 </td>
450 <td class="link">
444 <td class="link">
451 <a href="/file/tip/b1?style=gitweb">files</a>
445 <a href="/file/tip/b1?style=gitweb">files</a>
452 </td>
446 </td>
453 </tr>
447 </tr>
454 <tr class="parity1">
448 <tr class="parity1">
455 <td style="font-family:monospace">drwxr-xr-x</td>
449 <td style="font-family:monospace">drwxr-xr-x</td>
456 <td style="font-family:monospace"></td>
450 <td style="font-family:monospace"></td>
457 <td style="font-family:monospace"></td>
451 <td style="font-family:monospace"></td>
458 <td>
452 <td>
459 <a href="/file/tip/d1?style=gitweb">d1</a>
453 <a href="/file/tip/d1?style=gitweb">d1</a>
460 <a href="/file/tip/d1/d2?style=gitweb">d2</a>
454 <a href="/file/tip/d1/d2?style=gitweb">d2</a>
461 </td>
455 </td>
462 <td class="link">
456 <td class="link">
463 <a href="/file/tip/d1?style=gitweb">files</a>
457 <a href="/file/tip/d1?style=gitweb">files</a>
464 </td>
458 </td>
465 </tr>
459 </tr>
466
460
467 </table>
461 </table>
468
462
469 <div class="page_footer">
463 <div class="page_footer">
470 <div class="page_footer_text">test</div>
464 <div class="page_footer_text">test</div>
471 <div class="rss_logo">
465 <div class="rss_logo">
472 <a href="/rss-log">RSS</a>
466 <a href="/rss-log">RSS</a>
473 <a href="/atom-log">Atom</a>
467 <a href="/atom-log">Atom</a>
474 </div>
468 </div>
475 <br />
469 <br />
476
470
477 </div>
471 </div>
478 </body>
472 </body>
479 </html>
473 </html>
480
474
481
475
482 manifest with descending (spartan)
476 manifest with descending (spartan)
483
477
484 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=spartan'
478 $ get-with-headers.py $LOCALIP:$HGPORT 'file?style=spartan'
485 200 Script output follows
479 200 Script output follows
486
480
487 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
481 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
488 <html>
482 <html>
489 <head>
483 <head>
490 <link rel="icon" href="/static/hgicon.png" type="image/png">
484 <link rel="icon" href="/static/hgicon.png" type="image/png">
491 <meta name="robots" content="index, nofollow" />
485 <meta name="robots" content="index, nofollow" />
492 <link rel="stylesheet" href="/static/style.css" type="text/css" />
486 <link rel="stylesheet" href="/static/style.css" type="text/css" />
493 <script type="text/javascript" src="/static/mercurial.js"></script>
487 <script type="text/javascript" src="/static/mercurial.js"></script>
494
488
495 <title>test: files for changeset c9f45f7a1659</title>
489 <title>test: files for changeset c9f45f7a1659</title>
496 </head>
490 </head>
497 <body>
491 <body>
498
492
499 <div class="buttons">
493 <div class="buttons">
500 <a href="/log/tip?style=spartan">changelog</a>
494 <a href="/log/tip?style=spartan">changelog</a>
501 <a href="/shortlog/tip?style=spartan">shortlog</a>
495 <a href="/shortlog/tip?style=spartan">shortlog</a>
502 <a href="/graph/tip?style=spartan">graph</a>
496 <a href="/graph/tip?style=spartan">graph</a>
503 <a href="/tags?style=spartan">tags</a>
497 <a href="/tags?style=spartan">tags</a>
504 <a href="/branches?style=spartan">branches</a>
498 <a href="/branches?style=spartan">branches</a>
505 <a href="/rev/tip?style=spartan">changeset</a>
499 <a href="/rev/tip?style=spartan">changeset</a>
506
500
507 <a href="/help?style=spartan">help</a>
501 <a href="/help?style=spartan">help</a>
508 </div>
502 </div>
509
503
510 <h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/c9f45f7a1659">c9f45f7a1659</a>: /</h2>
504 <h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/c9f45f7a1659">c9f45f7a1659</a>: /</h2>
511
505
512 <table cellpadding="0" cellspacing="0">
506 <table cellpadding="0" cellspacing="0">
513 <tr class="parity0">
507 <tr class="parity0">
514 <td><tt>drwxr-xr-x</tt>&nbsp;
508 <td><tt>drwxr-xr-x</tt>&nbsp;
515 <td>&nbsp;
509 <td>&nbsp;
516 <td>&nbsp;
510 <td>&nbsp;
517 <td><a href="/file/tip/?style=spartan">[up]</a>
511 <td><a href="/file/tip/?style=spartan">[up]</a>
518 </tr>
512 </tr>
519
513
520 <tr class="parity1">
514 <tr class="parity1">
521 <td><tt>drwxr-xr-x</tt>&nbsp;</td>
515 <td><tt>drwxr-xr-x</tt>&nbsp;</td>
522 <td>&nbsp;</td>
516 <td>&nbsp;</td>
523 <td>&nbsp;</td>
517 <td>&nbsp;</td>
524 <td>
518 <td>
525 <a href="/file/tip/a1?style=spartan">a1/</a>
519 <a href="/file/tip/a1?style=spartan">a1/</a>
526 <a href="/file/tip/a1/a2/a3/a4?style=spartan">
520 <a href="/file/tip/a1/a2/a3/a4?style=spartan">
527 a2/a3/a4
521 a2/a3/a4
528 </a>
522 </a>
529 </td>
523 </td>
530 </tr>
524 </tr>
531 <tr class="parity0">
525 <tr class="parity0">
532 <td><tt>drwxr-xr-x</tt>&nbsp;</td>
526 <td><tt>drwxr-xr-x</tt>&nbsp;</td>
533 <td>&nbsp;</td>
527 <td>&nbsp;</td>
534 <td>&nbsp;</td>
528 <td>&nbsp;</td>
535 <td>
529 <td>
536 <a href="/file/tip/b1?style=spartan">b1/</a>
530 <a href="/file/tip/b1?style=spartan">b1/</a>
537 <a href="/file/tip/b1/b2/b3?style=spartan">
531 <a href="/file/tip/b1/b2/b3?style=spartan">
538 b2/b3
532 b2/b3
539 </a>
533 </a>
540 </td>
534 </td>
541 </tr>
535 </tr>
542 <tr class="parity1">
536 <tr class="parity1">
543 <td><tt>drwxr-xr-x</tt>&nbsp;</td>
537 <td><tt>drwxr-xr-x</tt>&nbsp;</td>
544 <td>&nbsp;</td>
538 <td>&nbsp;</td>
545 <td>&nbsp;</td>
539 <td>&nbsp;</td>
546 <td>
540 <td>
547 <a href="/file/tip/d1?style=spartan">d1/</a>
541 <a href="/file/tip/d1?style=spartan">d1/</a>
548 <a href="/file/tip/d1/d2?style=spartan">
542 <a href="/file/tip/d1/d2?style=spartan">
549 d2
543 d2
550 </a>
544 </a>
551 </td>
545 </td>
552 </tr>
546 </tr>
553
547
554 </table>
548 </table>
555
549
556 <div class="logo">
550 <div class="logo">
557 <a href="https://mercurial-scm.org/">
551 <a href="https://mercurial-scm.org/">
558 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
552 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
559 </div>
553 </div>
560
554
561 </body>
555 </body>
562 </html>
556 </html>
563
557
564
558
565 $ cat errors.log
559 $ cat errors.log
566
560
567 $ cd ..
561 $ cd ..
@@ -1,1108 +1,1106 b''
1 #require serve
1 #require serve
2
2
3 Test symbolic revision usage in links produced by hgweb pages. There are
3 Test symbolic revision usage in links produced by hgweb pages. There are
4 multiple issues related to this:
4 multiple issues related to this:
5 - issue2296
5 - issue2296
6 - issue2826
6 - issue2826
7 - issue3594
7 - issue3594
8 - issue3634
8 - issue3634
9
9
10 Set up the repo
10 Set up the repo
11
11
12 $ hg init test
12 $ hg init test
13 $ cd test
13 $ cd test
14 $ echo 0 > foo
14 $ echo 0 > foo
15 $ mkdir dir
15 $ mkdir dir
16 $ echo 0 > dir/bar
16 $ echo 0 > dir/bar
17 $ hg ci -Am 'first'
17 $ hg ci -Am 'first'
18 adding dir/bar
18 adding dir/bar
19 adding foo
19 adding foo
20 $ echo 1 >> foo
20 $ echo 1 >> foo
21 $ hg ci -m 'second'
21 $ hg ci -m 'second'
22 $ echo 2 >> foo
22 $ echo 2 >> foo
23 $ hg ci -m 'third'
23 $ hg ci -m 'third'
24 $ hg bookmark -r1 xyzzy
24 $ hg bookmark -r1 xyzzy
25
25
26 $ hg log -G --template '{rev}:{node|short} {tags} {bookmarks}\n'
26 $ hg log -G --template '{rev}:{node|short} {tags} {bookmarks}\n'
27 @ 2:9d8c40cba617 tip
27 @ 2:9d8c40cba617 tip
28 |
28 |
29 o 1:a7c1559b7bba xyzzy
29 o 1:a7c1559b7bba xyzzy
30 |
30 |
31 o 0:43c799df6e75
31 o 0:43c799df6e75
32
32
33 $ hg serve --config web.allow_archive=zip -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
33 $ hg serve --config web.allow_archive=zip -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
34 $ cat hg.pid >> $DAEMON_PIDS
34 $ cat hg.pid >> $DAEMON_PIDS
35
35
36 $ REVLINKS='href=[^>]+(rev=|/)(43c799df6e75|0|a7c1559b7bba|1|xyzzy|9d8c40cba617|2|tip|default)'
36 $ REVLINKS='href=[^>]+(rev=|/)(43c799df6e75|0|a7c1559b7bba|1|xyzzy|9d8c40cba617|2|tip|default)'
37
37
38 (De)referencing symbolic revisions (paper)
38 (De)referencing symbolic revisions (paper)
39
39
40 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=paper' | egrep $REVLINKS
40 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=paper' | egrep $REVLINKS
41 <li><a href="/graph/tip?style=paper">graph</a></li>
41 <li><a href="/graph/tip?style=paper">graph</a></li>
42 <li><a href="/rev/tip?style=paper">changeset</a></li>
42 <li><a href="/rev/tip?style=paper">changeset</a></li>
43 <li><a href="/file/tip?style=paper">browse</a></li>
43 <li><a href="/file/tip?style=paper">browse</a></li>
44 <a href="/archive/tip.zip">zip</a>
44 <a href="/archive/tip.zip">zip</a>
45 <a href="/shortlog/tip?revcount=30&style=paper">less</a>
45 <a href="/shortlog/tip?revcount=30&style=paper">less</a>
46 <a href="/shortlog/tip?revcount=120&style=paper">more</a>
46 <a href="/shortlog/tip?revcount=120&style=paper">more</a>
47 | rev 2: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
47 | rev 2: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
48 <a href="/rev/9d8c40cba617?style=paper">third</a>
48 <a href="/rev/9d8c40cba617?style=paper">third</a>
49 <a href="/rev/a7c1559b7bba?style=paper">second</a>
49 <a href="/rev/a7c1559b7bba?style=paper">second</a>
50 <a href="/rev/43c799df6e75?style=paper">first</a>
50 <a href="/rev/43c799df6e75?style=paper">first</a>
51 <a href="/shortlog/tip?revcount=30&style=paper">less</a>
51 <a href="/shortlog/tip?revcount=30&style=paper">less</a>
52 <a href="/shortlog/tip?revcount=120&style=paper">more</a>
52 <a href="/shortlog/tip?revcount=120&style=paper">more</a>
53 | rev 2: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
53 | rev 2: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
54
54
55 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=paper' | egrep $REVLINKS
55 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=paper' | egrep $REVLINKS
56 <li><a href="/shortlog/tip?style=paper">log</a></li>
56 <li><a href="/shortlog/tip?style=paper">log</a></li>
57 <li><a href="/rev/tip?style=paper">changeset</a></li>
57 <li><a href="/rev/tip?style=paper">changeset</a></li>
58 <li><a href="/file/tip?style=paper">browse</a></li>
58 <li><a href="/file/tip?style=paper">browse</a></li>
59 <a href="/graph/tip?revcount=30&style=paper">less</a>
59 <a href="/graph/tip?revcount=30&style=paper">less</a>
60 <a href="/graph/tip?revcount=120&style=paper">more</a>
60 <a href="/graph/tip?revcount=120&style=paper">more</a>
61 | rev 2: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
61 | rev 2: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
62 <a href="/rev/9d8c40cba617?style=paper">third</a>
62 <a href="/rev/9d8c40cba617?style=paper">third</a>
63 <a href="/rev/a7c1559b7bba?style=paper">second</a>
63 <a href="/rev/a7c1559b7bba?style=paper">second</a>
64 <a href="/rev/43c799df6e75?style=paper">first</a>
64 <a href="/rev/43c799df6e75?style=paper">first</a>
65 <a href="/graph/tip?revcount=30&style=paper">less</a>
65 <a href="/graph/tip?revcount=30&style=paper">less</a>
66 <a href="/graph/tip?revcount=120&style=paper">more</a>
66 <a href="/graph/tip?revcount=120&style=paper">more</a>
67 | rev 2: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
67 | rev 2: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
68
68
69 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=paper' | egrep $REVLINKS
69 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=paper' | egrep $REVLINKS
70 <li><a href="/shortlog/tip?style=paper">log</a></li>
70 <li><a href="/shortlog/tip?style=paper">log</a></li>
71 <li><a href="/graph/tip?style=paper">graph</a></li>
71 <li><a href="/graph/tip?style=paper">graph</a></li>
72 <li><a href="/rev/tip?style=paper">changeset</a></li>
72 <li><a href="/rev/tip?style=paper">changeset</a></li>
73 <a href="/archive/tip.zip">zip</a>
73 <a href="/archive/tip.zip">zip</a>
74 directory / @ 2:<a href="/rev/9d8c40cba617?style=paper">9d8c40cba617</a>
74 directory / @ 2:<a href="/rev/9d8c40cba617?style=paper">9d8c40cba617</a>
75 <a href="/file/tip/dir?style=paper">
75 <a href="/file/tip/dir?style=paper">
76 <a href="/file/tip/dir/?style=paper">
76 <a href="/file/tip/dir/?style=paper">
77 <a href="/file/tip/foo?style=paper">
77 <a href="/file/tip/foo?style=paper">
78
78
79 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=paper' | egrep $REVLINKS
79 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=paper' | egrep $REVLINKS
80 <a href="/shortlog/default?style=paper" class="open">
80 <a href="/shortlog/default?style=paper" class="open">
81 <a href="/shortlog/9d8c40cba617?style=paper" class="open">
81 <a href="/shortlog/9d8c40cba617?style=paper" class="open">
82
82
83 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=paper' | egrep $REVLINKS
83 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=paper' | egrep $REVLINKS
84 <a href="/rev/tip?style=paper">
84 <a href="/rev/tip?style=paper">
85 <a href="/rev/9d8c40cba617?style=paper">
85 <a href="/rev/9d8c40cba617?style=paper">
86
86
87 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=paper' | egrep $REVLINKS
87 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=paper' | egrep $REVLINKS
88 <a href="/rev/xyzzy?style=paper">
88 <a href="/rev/xyzzy?style=paper">
89 <a href="/rev/a7c1559b7bba?style=paper">
89 <a href="/rev/a7c1559b7bba?style=paper">
90
90
91 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=paper&rev=all()' | egrep $REVLINKS
91 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=paper&rev=all()' | egrep $REVLINKS
92 <a href="/rev/9d8c40cba617?style=paper">third</a>
92 <a href="/rev/9d8c40cba617?style=paper">third</a>
93 <a href="/rev/a7c1559b7bba?style=paper">second</a>
93 <a href="/rev/a7c1559b7bba?style=paper">second</a>
94 <a href="/rev/43c799df6e75?style=paper">first</a>
94 <a href="/rev/43c799df6e75?style=paper">first</a>
95
95
96 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=paper' | egrep $REVLINKS
96 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=paper' | egrep $REVLINKS
97 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
97 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
98 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
98 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
99 <li><a href="/raw-rev/xyzzy?style=paper">raw</a></li>
99 <li><a href="/raw-rev/xyzzy?style=paper">raw</a></li>
100 <li><a href="/file/xyzzy?style=paper">browse</a></li>
100 <li><a href="/file/xyzzy?style=paper">browse</a></li>
101 <a href="/archive/xyzzy.zip">zip</a>
101 <a href="/archive/xyzzy.zip">zip</a>
102 changeset 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
102 changeset 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
103 <td class="author"><a href="/rev/43c799df6e75?style=paper">43c799df6e75</a> </td>
103 <td class="author"><a href="/rev/43c799df6e75?style=paper">43c799df6e75</a> </td>
104 <td class="author"> <a href="/rev/9d8c40cba617?style=paper">9d8c40cba617</a></td>
104 <td class="author"> <a href="/rev/9d8c40cba617?style=paper">9d8c40cba617</a></td>
105 <td class="files"><a href="/file/a7c1559b7bba/foo?style=paper">foo</a> </td>
105 <td class="files"><a href="/file/a7c1559b7bba/foo?style=paper">foo</a> </td>
106
106
107 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=paper' | egrep $REVLINKS
107 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=paper' | egrep $REVLINKS
108 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
108 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
109 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
109 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
110 <li><a href="/file/xyzzy?style=paper">browse</a></li>
110 <li><a href="/file/xyzzy?style=paper">browse</a></li>
111 <a href="/archive/xyzzy.zip">zip</a>
111 <a href="/archive/xyzzy.zip">zip</a>
112 <a href="/shortlog/xyzzy?revcount=30&style=paper">less</a>
112 <a href="/shortlog/xyzzy?revcount=30&style=paper">less</a>
113 <a href="/shortlog/xyzzy?revcount=120&style=paper">more</a>
113 <a href="/shortlog/xyzzy?revcount=120&style=paper">more</a>
114 | rev 1: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
114 | rev 1: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
115 <a href="/rev/a7c1559b7bba?style=paper">second</a>
115 <a href="/rev/a7c1559b7bba?style=paper">second</a>
116 <a href="/rev/43c799df6e75?style=paper">first</a>
116 <a href="/rev/43c799df6e75?style=paper">first</a>
117 <a href="/shortlog/xyzzy?revcount=30&style=paper">less</a>
117 <a href="/shortlog/xyzzy?revcount=30&style=paper">less</a>
118 <a href="/shortlog/xyzzy?revcount=120&style=paper">more</a>
118 <a href="/shortlog/xyzzy?revcount=120&style=paper">more</a>
119 | rev 1: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
119 | rev 1: <a href="/shortlog/43c799df6e75?style=paper">(0)</a> <a href="/shortlog/tip?style=paper">tip</a>
120
120
121 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=paper' | egrep $REVLINKS
121 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=paper' | egrep $REVLINKS
122 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
122 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
123 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
123 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
124 <li><a href="/file/xyzzy?style=paper">browse</a></li>
124 <li><a href="/file/xyzzy?style=paper">browse</a></li>
125 <a href="/graph/xyzzy?revcount=30&style=paper">less</a>
125 <a href="/graph/xyzzy?revcount=30&style=paper">less</a>
126 <a href="/graph/xyzzy?revcount=120&style=paper">more</a>
126 <a href="/graph/xyzzy?revcount=120&style=paper">more</a>
127 | rev 1: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
127 | rev 1: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
128 <a href="/rev/a7c1559b7bba?style=paper">second</a>
128 <a href="/rev/a7c1559b7bba?style=paper">second</a>
129 <a href="/rev/43c799df6e75?style=paper">first</a>
129 <a href="/rev/43c799df6e75?style=paper">first</a>
130 <a href="/graph/xyzzy?revcount=30&style=paper">less</a>
130 <a href="/graph/xyzzy?revcount=30&style=paper">less</a>
131 <a href="/graph/xyzzy?revcount=120&style=paper">more</a>
131 <a href="/graph/xyzzy?revcount=120&style=paper">more</a>
132 | rev 1: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
132 | rev 1: <a href="/graph/43c799df6e75?style=paper">(0)</a> <a href="/graph/tip?style=paper">tip</a>
133
133
134 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=paper' | egrep $REVLINKS
134 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=paper' | egrep $REVLINKS
135 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
135 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
136 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
136 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
137 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
137 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
138 <a href="/archive/xyzzy.zip">zip</a>
138 <a href="/archive/xyzzy.zip">zip</a>
139 directory / @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
139 directory / @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
140 <a href="/file/xyzzy/dir?style=paper">
140 <a href="/file/xyzzy/dir?style=paper">
141 <a href="/file/xyzzy/dir/?style=paper">
141 <a href="/file/xyzzy/dir/?style=paper">
142 <a href="/file/xyzzy/foo?style=paper">
142 <a href="/file/xyzzy/foo?style=paper">
143
143
144 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=paper' | egrep $REVLINKS
144 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=paper' | egrep $REVLINKS
145 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
145 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
146 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
146 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
147 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
147 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
148 <li><a href="/file/xyzzy/?style=paper">browse</a></li>
148 <li><a href="/file/xyzzy/?style=paper">browse</a></li>
149 <li><a href="/file/tip/foo?style=paper">latest</a></li>
149 <li><a href="/file/tip/foo?style=paper">latest</a></li>
150 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
150 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
151 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
151 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
152 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
152 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
153 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
153 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
154 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
154 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
155 view foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
155 view foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
156 <td class="author"><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
156 <td class="author"><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
157 <td class="author"><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
157 <td class="author"><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
158
158
159 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=paper' | egrep $REVLINKS
159 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=paper' | egrep $REVLINKS
160 href="/atom-log/tip/foo" title="Atom feed for test:foo" />
160 href="/atom-log/tip/foo" title="Atom feed for test:foo" />
161 href="/rss-log/tip/foo" title="RSS feed for test:foo" />
161 href="/rss-log/tip/foo" title="RSS feed for test:foo" />
162 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
162 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
163 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
163 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
164 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
164 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
165 <li><a href="/file/xyzzy?style=paper">browse</a></li>
165 <li><a href="/file/xyzzy?style=paper">browse</a></li>
166 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
166 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
167 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
167 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
168 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
168 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
169 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
169 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
170 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
170 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
171 <a href="/atom-log/tip/foo" title="subscribe to atom feed">
171 <a href="/atom-log/tip/foo" title="subscribe to atom feed">
172 log foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
172 log foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
173 <a href="/log/xyzzy/foo?revcount=30&style=paper">less</a>
173 <a href="/log/xyzzy/foo?revcount=30&style=paper">less</a>
174 <a href="/log/xyzzy/foo?revcount=120&style=paper">more</a>
174 <a href="/log/xyzzy/foo?revcount=120&style=paper">more</a>
175 | <a href="/log/43c799df6e75/foo?style=paper">(0)</a> <a href="/log/tip/foo?style=paper">tip</a> </div>
175 | <a href="/log/43c799df6e75/foo?style=paper">(0)</a> <a href="/log/tip/foo?style=paper">tip</a> </div>
176 <a href="/rev/a7c1559b7bba?style=paper">second</a>
176 <a href="/rev/a7c1559b7bba?style=paper">second</a>
177 <a href="/rev/43c799df6e75?style=paper">first</a>
177 <a href="/rev/43c799df6e75?style=paper">first</a>
178 <a href="/log/xyzzy/foo?revcount=30&style=paper">less</a>
178 <a href="/log/xyzzy/foo?revcount=30&style=paper">less</a>
179 <a href="/log/xyzzy/foo?revcount=120&style=paper">more</a>
179 <a href="/log/xyzzy/foo?revcount=120&style=paper">more</a>
180 | <a href="/log/43c799df6e75/foo?style=paper">(0)</a> <a href="/log/tip/foo?style=paper">tip</a>
180 | <a href="/log/43c799df6e75/foo?style=paper">(0)</a> <a href="/log/tip/foo?style=paper">tip</a>
181
181
182 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=paper' | egrep $REVLINKS
182 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=paper' | egrep $REVLINKS
183 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
183 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
184 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
184 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
185 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
185 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
186 <li><a href="/file/xyzzy/?style=paper">browse</a></li>
186 <li><a href="/file/xyzzy/?style=paper">browse</a></li>
187 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
187 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
188 <li><a href="/file/tip/foo?style=paper">latest</a></li>
188 <li><a href="/file/tip/foo?style=paper">latest</a></li>
189 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
189 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
190 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
190 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
191 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
191 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
192 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
192 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
193 annotate foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
193 annotate foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
194 <td class="author"><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
194 <td class="author"><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
195 <td class="author"><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
195 <td class="author"><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
196 <a href="/annotate/43c799df6e75/foo?style=paper#l1">
196 <a href="/annotate/43c799df6e75/foo?style=paper#l1">
197 <a href="/annotate/43c799df6e75/foo?style=paper#l1">
197 <a href="/annotate/43c799df6e75/foo?style=paper#l1">
198 <a href="/diff/43c799df6e75/foo?style=paper">diff</a>
198 <a href="/diff/43c799df6e75/foo?style=paper">diff</a>
199 <a href="/rev/43c799df6e75?style=paper">changeset</a>
199 <a href="/rev/43c799df6e75?style=paper">changeset</a>
200 <a href="/annotate/a7c1559b7bba/foo?style=paper#l2">
200 <a href="/annotate/a7c1559b7bba/foo?style=paper#l2">
201 <a href="/annotate/a7c1559b7bba/foo?style=paper#l2">
201 <a href="/annotate/a7c1559b7bba/foo?style=paper#l2">
202 <a href="/annotate/43c799df6e75/foo?style=paper">0</a></div>
202 <a href="/annotate/43c799df6e75/foo?style=paper">0</a></div>
203 <a href="/diff/a7c1559b7bba/foo?style=paper">diff</a>
203 <a href="/diff/a7c1559b7bba/foo?style=paper">diff</a>
204 <a href="/rev/a7c1559b7bba?style=paper">changeset</a>
204 <a href="/rev/a7c1559b7bba?style=paper">changeset</a>
205
205
206 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=paper' | egrep $REVLINKS
206 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=paper' | egrep $REVLINKS
207 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
207 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
208 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
208 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
209 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
209 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
210 <li><a href="/file/xyzzy?style=paper">browse</a></li>
210 <li><a href="/file/xyzzy?style=paper">browse</a></li>
211 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
211 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
212 <li><a href="/file/tip/foo?style=paper">latest</a></li>
212 <li><a href="/file/tip/foo?style=paper">latest</a></li>
213 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
213 <li><a href="/comparison/xyzzy/foo?style=paper">comparison</a></li>
214 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
214 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
215 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
215 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
216 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
216 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
217 diff foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
217 diff foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
218 <td><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
218 <td><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
219 <td><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
219 <td><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
220
220
221 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=paper' | egrep $REVLINKS
221 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=paper' | egrep $REVLINKS
222 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
222 <li><a href="/shortlog/xyzzy?style=paper">log</a></li>
223 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
223 <li><a href="/graph/xyzzy?style=paper">graph</a></li>
224 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
224 <li><a href="/rev/xyzzy?style=paper">changeset</a></li>
225 <li><a href="/file/xyzzy?style=paper">browse</a></li>
225 <li><a href="/file/xyzzy?style=paper">browse</a></li>
226 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
226 <li><a href="/file/xyzzy/foo?style=paper">file</a></li>
227 <li><a href="/file/tip/foo?style=paper">latest</a></li>
227 <li><a href="/file/tip/foo?style=paper">latest</a></li>
228 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
228 <li><a href="/diff/xyzzy/foo?style=paper">diff</a></li>
229 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
229 <li><a href="/annotate/xyzzy/foo?style=paper">annotate</a></li>
230 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
230 <li><a href="/log/xyzzy/foo?style=paper">file log</a></li>
231 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
231 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
232 comparison foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
232 comparison foo @ 1:<a href="/rev/a7c1559b7bba?style=paper">a7c1559b7bba</a>
233 <td><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
233 <td><a href="/file/43c799df6e75/foo?style=paper">43c799df6e75</a> </td>
234 <td><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
234 <td><a href="/file/9d8c40cba617/foo?style=paper">9d8c40cba617</a> </td>
235
235
236 (De)referencing symbolic revisions (coal)
236 (De)referencing symbolic revisions (coal)
237
237
238 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=coal' | egrep $REVLINKS
238 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=coal' | egrep $REVLINKS
239 <li><a href="/graph/tip?style=coal">graph</a></li>
239 <li><a href="/graph/tip?style=coal">graph</a></li>
240 <li><a href="/rev/tip?style=coal">changeset</a></li>
240 <li><a href="/rev/tip?style=coal">changeset</a></li>
241 <li><a href="/file/tip?style=coal">browse</a></li>
241 <li><a href="/file/tip?style=coal">browse</a></li>
242 <a href="/archive/tip.zip">zip</a>
242 <a href="/archive/tip.zip">zip</a>
243 <a href="/shortlog/tip?revcount=30&style=coal">less</a>
243 <a href="/shortlog/tip?revcount=30&style=coal">less</a>
244 <a href="/shortlog/tip?revcount=120&style=coal">more</a>
244 <a href="/shortlog/tip?revcount=120&style=coal">more</a>
245 | rev 2: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
245 | rev 2: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
246 <a href="/rev/9d8c40cba617?style=coal">third</a>
246 <a href="/rev/9d8c40cba617?style=coal">third</a>
247 <a href="/rev/a7c1559b7bba?style=coal">second</a>
247 <a href="/rev/a7c1559b7bba?style=coal">second</a>
248 <a href="/rev/43c799df6e75?style=coal">first</a>
248 <a href="/rev/43c799df6e75?style=coal">first</a>
249 <a href="/shortlog/tip?revcount=30&style=coal">less</a>
249 <a href="/shortlog/tip?revcount=30&style=coal">less</a>
250 <a href="/shortlog/tip?revcount=120&style=coal">more</a>
250 <a href="/shortlog/tip?revcount=120&style=coal">more</a>
251 | rev 2: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
251 | rev 2: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
252
252
253 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=coal' | egrep $REVLINKS
253 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=coal' | egrep $REVLINKS
254 <li><a href="/shortlog/tip?style=coal">log</a></li>
254 <li><a href="/shortlog/tip?style=coal">log</a></li>
255 <li><a href="/rev/tip?style=coal">changeset</a></li>
255 <li><a href="/rev/tip?style=coal">changeset</a></li>
256 <li><a href="/file/tip?style=coal">browse</a></li>
256 <li><a href="/file/tip?style=coal">browse</a></li>
257 <a href="/graph/tip?revcount=30&style=coal">less</a>
257 <a href="/graph/tip?revcount=30&style=coal">less</a>
258 <a href="/graph/tip?revcount=120&style=coal">more</a>
258 <a href="/graph/tip?revcount=120&style=coal">more</a>
259 | rev 2: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
259 | rev 2: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
260 <a href="/rev/9d8c40cba617?style=coal">third</a>
260 <a href="/rev/9d8c40cba617?style=coal">third</a>
261 <a href="/rev/a7c1559b7bba?style=coal">second</a>
261 <a href="/rev/a7c1559b7bba?style=coal">second</a>
262 <a href="/rev/43c799df6e75?style=coal">first</a>
262 <a href="/rev/43c799df6e75?style=coal">first</a>
263 <a href="/graph/tip?revcount=30&style=coal">less</a>
263 <a href="/graph/tip?revcount=30&style=coal">less</a>
264 <a href="/graph/tip?revcount=120&style=coal">more</a>
264 <a href="/graph/tip?revcount=120&style=coal">more</a>
265 | rev 2: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
265 | rev 2: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
266
266
267 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=coal' | egrep $REVLINKS
267 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=coal' | egrep $REVLINKS
268 <li><a href="/shortlog/tip?style=coal">log</a></li>
268 <li><a href="/shortlog/tip?style=coal">log</a></li>
269 <li><a href="/graph/tip?style=coal">graph</a></li>
269 <li><a href="/graph/tip?style=coal">graph</a></li>
270 <li><a href="/rev/tip?style=coal">changeset</a></li>
270 <li><a href="/rev/tip?style=coal">changeset</a></li>
271 <a href="/archive/tip.zip">zip</a>
271 <a href="/archive/tip.zip">zip</a>
272 directory / @ 2:<a href="/rev/9d8c40cba617?style=coal">9d8c40cba617</a>
272 directory / @ 2:<a href="/rev/9d8c40cba617?style=coal">9d8c40cba617</a>
273 <a href="/file/tip/dir?style=coal">
273 <a href="/file/tip/dir?style=coal">
274 <a href="/file/tip/dir/?style=coal">
274 <a href="/file/tip/dir/?style=coal">
275 <a href="/file/tip/foo?style=coal">
275 <a href="/file/tip/foo?style=coal">
276
276
277 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=coal' | egrep $REVLINKS
277 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=coal' | egrep $REVLINKS
278 <a href="/shortlog/default?style=coal" class="open">
278 <a href="/shortlog/default?style=coal" class="open">
279 <a href="/shortlog/9d8c40cba617?style=coal" class="open">
279 <a href="/shortlog/9d8c40cba617?style=coal" class="open">
280
280
281 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=coal' | egrep $REVLINKS
281 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=coal' | egrep $REVLINKS
282 <a href="/rev/tip?style=coal">
282 <a href="/rev/tip?style=coal">
283 <a href="/rev/9d8c40cba617?style=coal">
283 <a href="/rev/9d8c40cba617?style=coal">
284
284
285 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=coal' | egrep $REVLINKS
285 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=coal' | egrep $REVLINKS
286 <a href="/rev/xyzzy?style=coal">
286 <a href="/rev/xyzzy?style=coal">
287 <a href="/rev/a7c1559b7bba?style=coal">
287 <a href="/rev/a7c1559b7bba?style=coal">
288
288
289 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=coal&rev=all()' | egrep $REVLINKS
289 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=coal&rev=all()' | egrep $REVLINKS
290 <a href="/rev/9d8c40cba617?style=coal">third</a>
290 <a href="/rev/9d8c40cba617?style=coal">third</a>
291 <a href="/rev/a7c1559b7bba?style=coal">second</a>
291 <a href="/rev/a7c1559b7bba?style=coal">second</a>
292 <a href="/rev/43c799df6e75?style=coal">first</a>
292 <a href="/rev/43c799df6e75?style=coal">first</a>
293
293
294 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=coal' | egrep $REVLINKS
294 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=coal' | egrep $REVLINKS
295 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
295 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
296 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
296 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
297 <li><a href="/raw-rev/xyzzy?style=coal">raw</a></li>
297 <li><a href="/raw-rev/xyzzy?style=coal">raw</a></li>
298 <li><a href="/file/xyzzy?style=coal">browse</a></li>
298 <li><a href="/file/xyzzy?style=coal">browse</a></li>
299 <a href="/archive/xyzzy.zip">zip</a>
299 <a href="/archive/xyzzy.zip">zip</a>
300 changeset 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
300 changeset 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
301 <td class="author"><a href="/rev/43c799df6e75?style=coal">43c799df6e75</a> </td>
301 <td class="author"><a href="/rev/43c799df6e75?style=coal">43c799df6e75</a> </td>
302 <td class="author"> <a href="/rev/9d8c40cba617?style=coal">9d8c40cba617</a></td>
302 <td class="author"> <a href="/rev/9d8c40cba617?style=coal">9d8c40cba617</a></td>
303 <td class="files"><a href="/file/a7c1559b7bba/foo?style=coal">foo</a> </td>
303 <td class="files"><a href="/file/a7c1559b7bba/foo?style=coal">foo</a> </td>
304
304
305 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=coal' | egrep $REVLINKS
305 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=coal' | egrep $REVLINKS
306 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
306 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
307 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
307 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
308 <li><a href="/file/xyzzy?style=coal">browse</a></li>
308 <li><a href="/file/xyzzy?style=coal">browse</a></li>
309 <a href="/archive/xyzzy.zip">zip</a>
309 <a href="/archive/xyzzy.zip">zip</a>
310 <a href="/shortlog/xyzzy?revcount=30&style=coal">less</a>
310 <a href="/shortlog/xyzzy?revcount=30&style=coal">less</a>
311 <a href="/shortlog/xyzzy?revcount=120&style=coal">more</a>
311 <a href="/shortlog/xyzzy?revcount=120&style=coal">more</a>
312 | rev 1: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
312 | rev 1: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
313 <a href="/rev/a7c1559b7bba?style=coal">second</a>
313 <a href="/rev/a7c1559b7bba?style=coal">second</a>
314 <a href="/rev/43c799df6e75?style=coal">first</a>
314 <a href="/rev/43c799df6e75?style=coal">first</a>
315 <a href="/shortlog/xyzzy?revcount=30&style=coal">less</a>
315 <a href="/shortlog/xyzzy?revcount=30&style=coal">less</a>
316 <a href="/shortlog/xyzzy?revcount=120&style=coal">more</a>
316 <a href="/shortlog/xyzzy?revcount=120&style=coal">more</a>
317 | rev 1: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
317 | rev 1: <a href="/shortlog/43c799df6e75?style=coal">(0)</a> <a href="/shortlog/tip?style=coal">tip</a>
318
318
319 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=coal' | egrep $REVLINKS
319 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=coal' | egrep $REVLINKS
320 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
320 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
321 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
321 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
322 <li><a href="/file/xyzzy?style=coal">browse</a></li>
322 <li><a href="/file/xyzzy?style=coal">browse</a></li>
323 <a href="/graph/xyzzy?revcount=30&style=coal">less</a>
323 <a href="/graph/xyzzy?revcount=30&style=coal">less</a>
324 <a href="/graph/xyzzy?revcount=120&style=coal">more</a>
324 <a href="/graph/xyzzy?revcount=120&style=coal">more</a>
325 | rev 1: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
325 | rev 1: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
326 <a href="/rev/a7c1559b7bba?style=coal">second</a>
326 <a href="/rev/a7c1559b7bba?style=coal">second</a>
327 <a href="/rev/43c799df6e75?style=coal">first</a>
327 <a href="/rev/43c799df6e75?style=coal">first</a>
328 <a href="/graph/xyzzy?revcount=30&style=coal">less</a>
328 <a href="/graph/xyzzy?revcount=30&style=coal">less</a>
329 <a href="/graph/xyzzy?revcount=120&style=coal">more</a>
329 <a href="/graph/xyzzy?revcount=120&style=coal">more</a>
330 | rev 1: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
330 | rev 1: <a href="/graph/43c799df6e75?style=coal">(0)</a> <a href="/graph/tip?style=coal">tip</a>
331
331
332 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=coal' | egrep $REVLINKS
332 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=coal' | egrep $REVLINKS
333 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
333 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
334 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
334 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
335 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
335 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
336 <a href="/archive/xyzzy.zip">zip</a>
336 <a href="/archive/xyzzy.zip">zip</a>
337 directory / @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
337 directory / @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
338 <a href="/file/xyzzy/dir?style=coal">
338 <a href="/file/xyzzy/dir?style=coal">
339 <a href="/file/xyzzy/dir/?style=coal">
339 <a href="/file/xyzzy/dir/?style=coal">
340 <a href="/file/xyzzy/foo?style=coal">
340 <a href="/file/xyzzy/foo?style=coal">
341
341
342 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=coal' | egrep $REVLINKS
342 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=coal' | egrep $REVLINKS
343 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
343 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
344 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
344 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
345 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
345 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
346 <li><a href="/file/xyzzy/?style=coal">browse</a></li>
346 <li><a href="/file/xyzzy/?style=coal">browse</a></li>
347 <li><a href="/file/tip/foo?style=coal">latest</a></li>
347 <li><a href="/file/tip/foo?style=coal">latest</a></li>
348 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
348 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
349 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
349 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
350 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
350 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
351 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
351 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
352 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
352 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
353 view foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
353 view foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
354 <td class="author"><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
354 <td class="author"><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
355 <td class="author"><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
355 <td class="author"><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
356
356
357 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=coal' | egrep $REVLINKS
357 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=coal' | egrep $REVLINKS
358 href="/atom-log/tip/foo" title="Atom feed for test:foo" />
358 href="/atom-log/tip/foo" title="Atom feed for test:foo" />
359 href="/rss-log/tip/foo" title="RSS feed for test:foo" />
359 href="/rss-log/tip/foo" title="RSS feed for test:foo" />
360 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
360 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
361 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
361 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
362 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
362 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
363 <li><a href="/file/xyzzy?style=coal">browse</a></li>
363 <li><a href="/file/xyzzy?style=coal">browse</a></li>
364 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
364 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
365 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
365 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
366 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
366 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
367 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
367 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
368 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
368 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
369 <a href="/atom-log/tip/foo" title="subscribe to atom feed">
369 <a href="/atom-log/tip/foo" title="subscribe to atom feed">
370 log foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
370 log foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
371 <a href="/log/xyzzy/foo?revcount=30&style=coal">less</a>
371 <a href="/log/xyzzy/foo?revcount=30&style=coal">less</a>
372 <a href="/log/xyzzy/foo?revcount=120&style=coal">more</a>
372 <a href="/log/xyzzy/foo?revcount=120&style=coal">more</a>
373 | <a href="/log/43c799df6e75/foo?style=coal">(0)</a> <a href="/log/tip/foo?style=coal">tip</a> </div>
373 | <a href="/log/43c799df6e75/foo?style=coal">(0)</a> <a href="/log/tip/foo?style=coal">tip</a> </div>
374 <a href="/rev/a7c1559b7bba?style=coal">second</a>
374 <a href="/rev/a7c1559b7bba?style=coal">second</a>
375 <a href="/rev/43c799df6e75?style=coal">first</a>
375 <a href="/rev/43c799df6e75?style=coal">first</a>
376 <a href="/log/xyzzy/foo?revcount=30&style=coal">less</a>
376 <a href="/log/xyzzy/foo?revcount=30&style=coal">less</a>
377 <a href="/log/xyzzy/foo?revcount=120&style=coal">more</a>
377 <a href="/log/xyzzy/foo?revcount=120&style=coal">more</a>
378 | <a href="/log/43c799df6e75/foo?style=coal">(0)</a> <a href="/log/tip/foo?style=coal">tip</a>
378 | <a href="/log/43c799df6e75/foo?style=coal">(0)</a> <a href="/log/tip/foo?style=coal">tip</a>
379
379
380 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=coal' | egrep $REVLINKS
380 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=coal' | egrep $REVLINKS
381 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
381 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
382 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
382 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
383 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
383 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
384 <li><a href="/file/xyzzy/?style=coal">browse</a></li>
384 <li><a href="/file/xyzzy/?style=coal">browse</a></li>
385 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
385 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
386 <li><a href="/file/tip/foo?style=coal">latest</a></li>
386 <li><a href="/file/tip/foo?style=coal">latest</a></li>
387 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
387 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
388 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
388 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
389 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
389 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
390 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
390 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
391 annotate foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
391 annotate foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
392 <td class="author"><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
392 <td class="author"><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
393 <td class="author"><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
393 <td class="author"><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
394 <a href="/annotate/43c799df6e75/foo?style=coal#l1">
394 <a href="/annotate/43c799df6e75/foo?style=coal#l1">
395 <a href="/annotate/43c799df6e75/foo?style=coal#l1">
395 <a href="/annotate/43c799df6e75/foo?style=coal#l1">
396 <a href="/diff/43c799df6e75/foo?style=coal">diff</a>
396 <a href="/diff/43c799df6e75/foo?style=coal">diff</a>
397 <a href="/rev/43c799df6e75?style=coal">changeset</a>
397 <a href="/rev/43c799df6e75?style=coal">changeset</a>
398 <a href="/annotate/a7c1559b7bba/foo?style=coal#l2">
398 <a href="/annotate/a7c1559b7bba/foo?style=coal#l2">
399 <a href="/annotate/a7c1559b7bba/foo?style=coal#l2">
399 <a href="/annotate/a7c1559b7bba/foo?style=coal#l2">
400 <a href="/annotate/43c799df6e75/foo?style=coal">0</a></div>
400 <a href="/annotate/43c799df6e75/foo?style=coal">0</a></div>
401 <a href="/diff/a7c1559b7bba/foo?style=coal">diff</a>
401 <a href="/diff/a7c1559b7bba/foo?style=coal">diff</a>
402 <a href="/rev/a7c1559b7bba?style=coal">changeset</a>
402 <a href="/rev/a7c1559b7bba?style=coal">changeset</a>
403
403
404 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=coal' | egrep $REVLINKS
404 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=coal' | egrep $REVLINKS
405 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
405 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
406 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
406 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
407 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
407 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
408 <li><a href="/file/xyzzy?style=coal">browse</a></li>
408 <li><a href="/file/xyzzy?style=coal">browse</a></li>
409 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
409 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
410 <li><a href="/file/tip/foo?style=coal">latest</a></li>
410 <li><a href="/file/tip/foo?style=coal">latest</a></li>
411 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
411 <li><a href="/comparison/xyzzy/foo?style=coal">comparison</a></li>
412 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
412 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
413 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
413 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
414 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
414 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
415 diff foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
415 diff foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
416 <td><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
416 <td><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
417 <td><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
417 <td><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
418
418
419 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=coal' | egrep $REVLINKS
419 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=coal' | egrep $REVLINKS
420 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
420 <li><a href="/shortlog/xyzzy?style=coal">log</a></li>
421 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
421 <li><a href="/graph/xyzzy?style=coal">graph</a></li>
422 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
422 <li><a href="/rev/xyzzy?style=coal">changeset</a></li>
423 <li><a href="/file/xyzzy?style=coal">browse</a></li>
423 <li><a href="/file/xyzzy?style=coal">browse</a></li>
424 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
424 <li><a href="/file/xyzzy/foo?style=coal">file</a></li>
425 <li><a href="/file/tip/foo?style=coal">latest</a></li>
425 <li><a href="/file/tip/foo?style=coal">latest</a></li>
426 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
426 <li><a href="/diff/xyzzy/foo?style=coal">diff</a></li>
427 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
427 <li><a href="/annotate/xyzzy/foo?style=coal">annotate</a></li>
428 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
428 <li><a href="/log/xyzzy/foo?style=coal">file log</a></li>
429 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
429 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
430 comparison foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
430 comparison foo @ 1:<a href="/rev/a7c1559b7bba?style=coal">a7c1559b7bba</a>
431 <td><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
431 <td><a href="/file/43c799df6e75/foo?style=coal">43c799df6e75</a> </td>
432 <td><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
432 <td><a href="/file/9d8c40cba617/foo?style=coal">9d8c40cba617</a> </td>
433
433
434 (De)referencing symbolic revisions (gitweb)
434 (De)referencing symbolic revisions (gitweb)
435
435
436 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'summary?style=gitweb' | egrep $REVLINKS
436 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'summary?style=gitweb' | egrep $REVLINKS
437 <a href="/file?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a> |
437 <a href="/file?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a> |
438 <a class="list" href="/rev/9d8c40cba617?style=gitweb">
438 <a class="list" href="/rev/9d8c40cba617?style=gitweb">
439 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a> |
439 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a> |
440 <a href="/file/9d8c40cba617?style=gitweb">files</a>
440 <a href="/file/9d8c40cba617?style=gitweb">files</a>
441 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
441 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
442 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
442 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
443 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
443 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
444 <a class="list" href="/rev/43c799df6e75?style=gitweb">
444 <a class="list" href="/rev/43c799df6e75?style=gitweb">
445 <a href="/rev/43c799df6e75?style=gitweb">changeset</a> |
445 <a href="/rev/43c799df6e75?style=gitweb">changeset</a> |
446 <a href="/file/43c799df6e75?style=gitweb">files</a>
446 <a href="/file/43c799df6e75?style=gitweb">files</a>
447 <td><a class="list" href="/rev/xyzzy?style=gitweb"><b>xyzzy</b></a></td>
447 <td><a class="list" href="/rev/xyzzy?style=gitweb"><b>xyzzy</b></a></td>
448 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
448 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
449 <a href="/log/a7c1559b7bba?style=gitweb">changelog</a> |
449 <a href="/log/a7c1559b7bba?style=gitweb">changelog</a> |
450 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
450 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
451 <td class="open"><a class="list" href="/shortlog/default?style=gitweb"><b>default</b></a></td>
451 <td class="open"><a class="list" href="/shortlog/default?style=gitweb"><b>default</b></a></td>
452 <a href="/changeset/9d8c40cba617?style=gitweb">changeset</a> |
452 <a href="/changeset/9d8c40cba617?style=gitweb">changeset</a> |
453 <a href="/log/9d8c40cba617?style=gitweb">changelog</a> |
453 <a href="/log/9d8c40cba617?style=gitweb">changelog</a> |
454 <a href="/file/9d8c40cba617?style=gitweb">files</a>
454 <a href="/file/9d8c40cba617?style=gitweb">files</a>
455
455
456 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=gitweb' | egrep $REVLINKS
456 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=gitweb' | egrep $REVLINKS
457 <a href="/log/tip?style=gitweb">changelog</a> |
457 <a href="/log/tip?style=gitweb">changelog</a> |
458 <a href="/graph/tip?style=gitweb">graph</a> |
458 <a href="/graph/tip?style=gitweb">graph</a> |
459 <a href="/file/tip?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a> |
459 <a href="/file/tip?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a> |
460 <br/><a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a> <br/>
460 <br/><a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a> <br/>
461 <a class="list" href="/rev/9d8c40cba617?style=gitweb">
461 <a class="list" href="/rev/9d8c40cba617?style=gitweb">
462 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a> |
462 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a> |
463 <a href="/file/9d8c40cba617?style=gitweb">files</a>
463 <a href="/file/9d8c40cba617?style=gitweb">files</a>
464 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
464 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
465 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
465 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
466 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
466 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
467 <a class="list" href="/rev/43c799df6e75?style=gitweb">
467 <a class="list" href="/rev/43c799df6e75?style=gitweb">
468 <a href="/rev/43c799df6e75?style=gitweb">changeset</a> |
468 <a href="/rev/43c799df6e75?style=gitweb">changeset</a> |
469 <a href="/file/43c799df6e75?style=gitweb">files</a>
469 <a href="/file/43c799df6e75?style=gitweb">files</a>
470 <a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a>
470 <a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a>
471
471
472 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log?style=gitweb' | egrep $REVLINKS
472 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log?style=gitweb' | egrep $REVLINKS
473 <a href="/shortlog/tip?style=gitweb">shortlog</a> |
473 <a href="/shortlog/tip?style=gitweb">shortlog</a> |
474 <a href="/graph/tip?style=gitweb">graph</a> |
474 <a href="/graph/tip?style=gitweb">graph</a> |
475 <a href="/file/tip?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a> |
475 <a href="/file/tip?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a> |
476 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
476 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
477 <a class="title" href="/rev/9d8c40cba617?style=gitweb">
477 <a class="title" href="/rev/9d8c40cba617?style=gitweb">
478 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a><br/>
478 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a><br/>
479 <a class="title" href="/rev/a7c1559b7bba?style=gitweb">
479 <a class="title" href="/rev/a7c1559b7bba?style=gitweb">
480 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a><br/>
480 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a><br/>
481 <a class="title" href="/rev/43c799df6e75?style=gitweb">
481 <a class="title" href="/rev/43c799df6e75?style=gitweb">
482 <a href="/rev/43c799df6e75?style=gitweb">changeset</a><br/>
482 <a href="/rev/43c799df6e75?style=gitweb">changeset</a><br/>
483 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
483 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
484
484
485 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=gitweb' | egrep $REVLINKS
485 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=gitweb' | egrep $REVLINKS
486 <a href="/shortlog/tip?style=gitweb">shortlog</a> |
486 <a href="/shortlog/tip?style=gitweb">shortlog</a> |
487 <a href="/log/tip?style=gitweb">changelog</a> |
487 <a href="/log/tip?style=gitweb">changelog</a> |
488 <a href="/file/tip?style=gitweb">files</a> |
488 <a href="/file/tip?style=gitweb">files</a> |
489 <a href="/graph/tip?revcount=30&style=gitweb">less</a>
489 <a href="/graph/tip?revcount=30&style=gitweb">less</a>
490 <a href="/graph/tip?revcount=120&style=gitweb">more</a>
490 <a href="/graph/tip?revcount=120&style=gitweb">more</a>
491 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
491 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
492 <a class="list" href="/rev/9d8c40cba617?style=gitweb"><b>third</b></a>
492 <a class="list" href="/rev/9d8c40cba617?style=gitweb"><b>third</b></a>
493 <a class="list" href="/rev/a7c1559b7bba?style=gitweb"><b>second</b></a>
493 <a class="list" href="/rev/a7c1559b7bba?style=gitweb"><b>second</b></a>
494 <a class="list" href="/rev/43c799df6e75?style=gitweb"><b>first</b></a>
494 <a class="list" href="/rev/43c799df6e75?style=gitweb"><b>first</b></a>
495 <a href="/graph/tip?revcount=30&style=gitweb">less</a>
495 <a href="/graph/tip?revcount=30&style=gitweb">less</a>
496 <a href="/graph/tip?revcount=120&style=gitweb">more</a>
496 <a href="/graph/tip?revcount=120&style=gitweb">more</a>
497 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
497 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
498
498
499 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=gitweb' | egrep $REVLINKS
499 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=gitweb' | egrep $REVLINKS
500 <td><a class="list" href="/rev/tip?style=gitweb"><b>tip</b></a></td>
500 <td><a class="list" href="/rev/tip?style=gitweb"><b>tip</b></a></td>
501 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a> |
501 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a> |
502 <a href="/log/9d8c40cba617?style=gitweb">changelog</a> |
502 <a href="/log/9d8c40cba617?style=gitweb">changelog</a> |
503 <a href="/file/9d8c40cba617?style=gitweb">files</a>
503 <a href="/file/9d8c40cba617?style=gitweb">files</a>
504
504
505 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=gitweb' | egrep $REVLINKS
505 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=gitweb' | egrep $REVLINKS
506 <td><a class="list" href="/rev/xyzzy?style=gitweb"><b>xyzzy</b></a></td>
506 <td><a class="list" href="/rev/xyzzy?style=gitweb"><b>xyzzy</b></a></td>
507 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
507 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
508 <a href="/log/a7c1559b7bba?style=gitweb">changelog</a> |
508 <a href="/log/a7c1559b7bba?style=gitweb">changelog</a> |
509 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
509 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
510
510
511 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=gitweb' | egrep $REVLINKS
511 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=gitweb' | egrep $REVLINKS
512 <td class="open"><a class="list" href="/shortlog/default?style=gitweb"><b>default</b></a></td>
512 <td class="open"><a class="list" href="/shortlog/default?style=gitweb"><b>default</b></a></td>
513 <a href="/changeset/9d8c40cba617?style=gitweb">changeset</a> |
513 <a href="/changeset/9d8c40cba617?style=gitweb">changeset</a> |
514 <a href="/log/9d8c40cba617?style=gitweb">changelog</a> |
514 <a href="/log/9d8c40cba617?style=gitweb">changelog</a> |
515 <a href="/file/9d8c40cba617?style=gitweb">files</a>
515 <a href="/file/9d8c40cba617?style=gitweb">files</a>
516
516
517 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=gitweb' | egrep $REVLINKS
517 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=gitweb' | egrep $REVLINKS
518 <a href="/rev/tip?style=gitweb">changeset</a> | <a href="/archive/tip.zip">zip</a> |
518 <a href="/rev/tip?style=gitweb">changeset</a> | <a href="/archive/tip.zip">zip</a> |
519 <a href="/file/tip/dir?style=gitweb">dir</a>
519 <a href="/file/tip/dir?style=gitweb">dir</a>
520 <a href="/file/tip/dir/?style=gitweb"></a>
520 <a href="/file/tip/dir/?style=gitweb"></a>
521 <a href="/file/tip/dir?style=gitweb">files</a>
521 <a href="/file/tip/dir?style=gitweb">files</a>
522 <a class="list" href="/file/tip/foo?style=gitweb">foo</a>
522 <a class="list" href="/file/tip/foo?style=gitweb">foo</a>
523 <a href="/file/tip/foo?style=gitweb">file</a> |
523 <a href="/file/tip/foo?style=gitweb">file</a> |
524 <a href="/log/tip/foo?style=gitweb">revisions</a> |
524 <a href="/log/tip/foo?style=gitweb">revisions</a> |
525 <a href="/annotate/tip/foo?style=gitweb">annotate</a>
525 <a href="/annotate/tip/foo?style=gitweb">annotate</a>
526
526
527 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=gitweb&rev=all()' | egrep $REVLINKS
527 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=gitweb&rev=all()' | egrep $REVLINKS
528 <a href="/file?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a>
528 <a href="/file?style=gitweb">files</a> | <a href="/archive/tip.zip">zip</a>
529 <a class="title" href="/rev/9d8c40cba617?style=gitweb">
529 <a class="title" href="/rev/9d8c40cba617?style=gitweb">
530 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a><br/>
530 <a href="/rev/9d8c40cba617?style=gitweb">changeset</a><br/>
531 <a class="title" href="/rev/a7c1559b7bba?style=gitweb">
531 <a class="title" href="/rev/a7c1559b7bba?style=gitweb">
532 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a><br/>
532 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a><br/>
533 <a class="title" href="/rev/43c799df6e75?style=gitweb">
533 <a class="title" href="/rev/43c799df6e75?style=gitweb">
534 <a href="/rev/43c799df6e75?style=gitweb">changeset</a><br/>
534 <a href="/rev/43c799df6e75?style=gitweb">changeset</a><br/>
535
535
536 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=gitweb' | egrep $REVLINKS
536 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=gitweb' | egrep $REVLINKS
537 <a href="/shortlog/xyzzy?style=gitweb">shortlog</a> |
537 <a href="/shortlog/xyzzy?style=gitweb">shortlog</a> |
538 <a href="/log/xyzzy?style=gitweb">changelog</a> |
538 <a href="/log/xyzzy?style=gitweb">changelog</a> |
539 <a href="/graph/xyzzy?style=gitweb">graph</a> |
539 <a href="/graph/xyzzy?style=gitweb">graph</a> |
540 <a href="/file/xyzzy?style=gitweb">files</a> |
540 <a href="/file/xyzzy?style=gitweb">files</a> |
541 <a href="/raw-rev/xyzzy">raw</a> | <a href="/archive/xyzzy.zip">zip</a> |
541 <a href="/raw-rev/xyzzy">raw</a> | <a href="/archive/xyzzy.zip">zip</a> |
542 <a class="title" href="/raw-rev/a7c1559b7bba">
542 <a class="title" href="/raw-rev/a7c1559b7bba">
543 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
543 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
544 <a class="list" href="/rev/43c799df6e75?style=gitweb">43c799df6e75</a>
544 <a class="list" href="/rev/43c799df6e75?style=gitweb">43c799df6e75</a>
545 <a class="list" href="/rev/9d8c40cba617?style=gitweb">9d8c40cba617</a>
545 <a class="list" href="/rev/9d8c40cba617?style=gitweb">9d8c40cba617</a>
546 <td><a class="list" href="/diff/a7c1559b7bba/foo?style=gitweb">foo</a></td>
546 <td><a class="list" href="/diff/a7c1559b7bba/foo?style=gitweb">foo</a></td>
547 <a href="/file/a7c1559b7bba/foo?style=gitweb">file</a> |
547 <a href="/file/a7c1559b7bba/foo?style=gitweb">file</a> |
548 <a href="/annotate/a7c1559b7bba/foo?style=gitweb">annotate</a> |
548 <a href="/annotate/a7c1559b7bba/foo?style=gitweb">annotate</a> |
549 <a href="/diff/a7c1559b7bba/foo?style=gitweb">diff</a> |
549 <a href="/diff/a7c1559b7bba/foo?style=gitweb">diff</a> |
550 <a href="/comparison/a7c1559b7bba/foo?style=gitweb">comparison</a> |
550 <a href="/comparison/a7c1559b7bba/foo?style=gitweb">comparison</a> |
551 <a href="/log/a7c1559b7bba/foo?style=gitweb">revisions</a>
551 <a href="/log/a7c1559b7bba/foo?style=gitweb">revisions</a>
552
552
553 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=gitweb' | egrep $REVLINKS
553 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=gitweb' | egrep $REVLINKS
554 <a href="/log/xyzzy?style=gitweb">changelog</a> |
554 <a href="/log/xyzzy?style=gitweb">changelog</a> |
555 <a href="/graph/xyzzy?style=gitweb">graph</a> |
555 <a href="/graph/xyzzy?style=gitweb">graph</a> |
556 <a href="/file/xyzzy?style=gitweb">files</a> | <a href="/archive/xyzzy.zip">zip</a> |
556 <a href="/file/xyzzy?style=gitweb">files</a> | <a href="/archive/xyzzy.zip">zip</a> |
557 <br/><a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a> <br/>
557 <br/><a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a> <br/>
558 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
558 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
559 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
559 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a> |
560 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
560 <a href="/file/a7c1559b7bba?style=gitweb">files</a>
561 <a class="list" href="/rev/43c799df6e75?style=gitweb">
561 <a class="list" href="/rev/43c799df6e75?style=gitweb">
562 <a href="/rev/43c799df6e75?style=gitweb">changeset</a> |
562 <a href="/rev/43c799df6e75?style=gitweb">changeset</a> |
563 <a href="/file/43c799df6e75?style=gitweb">files</a>
563 <a href="/file/43c799df6e75?style=gitweb">files</a>
564 <a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a>
564 <a href="/shortlog/43c799df6e75?style=gitweb">(0)</a> <a href="/shortlog/tip?style=gitweb">tip</a>
565
565
566 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy?style=gitweb' | egrep $REVLINKS
566 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy?style=gitweb' | egrep $REVLINKS
567 <a href="/shortlog/xyzzy?style=gitweb">shortlog</a> |
567 <a href="/shortlog/xyzzy?style=gitweb">shortlog</a> |
568 <a href="/graph/xyzzy?style=gitweb">graph</a> |
568 <a href="/graph/xyzzy?style=gitweb">graph</a> |
569 <a href="/file/xyzzy?style=gitweb">files</a> | <a href="/archive/xyzzy.zip">zip</a> |
569 <a href="/file/xyzzy?style=gitweb">files</a> | <a href="/archive/xyzzy.zip">zip</a> |
570 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
570 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
571 <a class="title" href="/rev/a7c1559b7bba?style=gitweb">
571 <a class="title" href="/rev/a7c1559b7bba?style=gitweb">
572 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a><br/>
572 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a><br/>
573 <a class="title" href="/rev/43c799df6e75?style=gitweb">
573 <a class="title" href="/rev/43c799df6e75?style=gitweb">
574 <a href="/rev/43c799df6e75?style=gitweb">changeset</a><br/>
574 <a href="/rev/43c799df6e75?style=gitweb">changeset</a><br/>
575 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
575 <a href="/log/43c799df6e75?style=gitweb">(0)</a> <a href="/log/tip?style=gitweb">tip</a> <br/>
576
576
577 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=gitweb' | egrep $REVLINKS
577 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=gitweb' | egrep $REVLINKS
578 <a href="/shortlog/xyzzy?style=gitweb">shortlog</a> |
578 <a href="/shortlog/xyzzy?style=gitweb">shortlog</a> |
579 <a href="/log/xyzzy?style=gitweb">changelog</a> |
579 <a href="/log/xyzzy?style=gitweb">changelog</a> |
580 <a href="/file/xyzzy?style=gitweb">files</a> |
580 <a href="/file/xyzzy?style=gitweb">files</a> |
581 <a href="/graph/xyzzy?revcount=30&style=gitweb">less</a>
581 <a href="/graph/xyzzy?revcount=30&style=gitweb">less</a>
582 <a href="/graph/xyzzy?revcount=120&style=gitweb">more</a>
582 <a href="/graph/xyzzy?revcount=120&style=gitweb">more</a>
583 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
583 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
584 <a class="list" href="/rev/a7c1559b7bba?style=gitweb"><b>second</b></a>
584 <a class="list" href="/rev/a7c1559b7bba?style=gitweb"><b>second</b></a>
585 <a class="list" href="/rev/43c799df6e75?style=gitweb"><b>first</b></a>
585 <a class="list" href="/rev/43c799df6e75?style=gitweb"><b>first</b></a>
586 <a href="/graph/xyzzy?revcount=30&style=gitweb">less</a>
586 <a href="/graph/xyzzy?revcount=30&style=gitweb">less</a>
587 <a href="/graph/xyzzy?revcount=120&style=gitweb">more</a>
587 <a href="/graph/xyzzy?revcount=120&style=gitweb">more</a>
588 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
588 | <a href="/graph/43c799df6e75?style=gitweb">(0)</a> <a href="/graph/tip?style=gitweb">tip</a>
589
589
590 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=gitweb' | egrep $REVLINKS
590 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=gitweb' | egrep $REVLINKS
591 <a href="/rev/xyzzy?style=gitweb">changeset</a> | <a href="/archive/xyzzy.zip">zip</a> |
591 <a href="/rev/xyzzy?style=gitweb">changeset</a> | <a href="/archive/xyzzy.zip">zip</a> |
592 <a href="/file/xyzzy/dir?style=gitweb">dir</a>
592 <a href="/file/xyzzy/dir?style=gitweb">dir</a>
593 <a href="/file/xyzzy/dir/?style=gitweb"></a>
593 <a href="/file/xyzzy/dir/?style=gitweb"></a>
594 <a href="/file/xyzzy/dir?style=gitweb">files</a>
594 <a href="/file/xyzzy/dir?style=gitweb">files</a>
595 <a class="list" href="/file/xyzzy/foo?style=gitweb">foo</a>
595 <a class="list" href="/file/xyzzy/foo?style=gitweb">foo</a>
596 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
596 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
597 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
597 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
598 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a>
598 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a>
599
599
600 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=gitweb' | egrep $REVLINKS
600 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=gitweb' | egrep $REVLINKS
601 <a href="/file/xyzzy/?style=gitweb">files</a> |
601 <a href="/file/xyzzy/?style=gitweb">files</a> |
602 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
602 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
603 <a href="/file/tip/foo?style=gitweb">latest</a> |
603 <a href="/file/tip/foo?style=gitweb">latest</a> |
604 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
604 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
605 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
605 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
606 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
606 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
607 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
607 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
608 <a href="/raw-file/xyzzy/foo">raw</a> |
608 <a href="/raw-file/xyzzy/foo">raw</a> |
609 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
609 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
610 <a class="list" href="/file/43c799df6e75/foo?style=gitweb">
610 <a class="list" href="/file/43c799df6e75/foo?style=gitweb">
611 <a class="list" href="/file/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a></td>
611 <a class="list" href="/file/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a></td>
612
612
613 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=gitweb' | egrep $REVLINKS
613 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=gitweb' | egrep $REVLINKS
614 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
614 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
615 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
615 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
616 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
616 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
617 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
617 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
618 <a href="/rss-log/tip/foo">rss</a> |
618 <a href="/rss-log/tip/foo">rss</a> |
619 <a href="/log/43c799df6e75/foo?style=gitweb">(0)</a> <a href="/log/tip/foo?style=gitweb">tip</a>
619 <a href="/log/43c799df6e75/foo?style=gitweb">(0)</a> <a href="/log/tip/foo?style=gitweb">tip</a>
620 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
620 <a class="list" href="/rev/a7c1559b7bba?style=gitweb">
621 <a href="/file/a7c1559b7bba/foo?style=gitweb">file</a> |
621 <a href="/file/a7c1559b7bba/foo?style=gitweb">file</a> |
622 <a href="/diff/a7c1559b7bba/foo?style=gitweb">diff</a> |
622 <a href="/diff/a7c1559b7bba/foo?style=gitweb">diff</a> |
623 <a href="/annotate/a7c1559b7bba/foo?style=gitweb">annotate</a>
623 <a href="/annotate/a7c1559b7bba/foo?style=gitweb">annotate</a>
624 <a class="list" href="/rev/43c799df6e75?style=gitweb">
624 <a class="list" href="/rev/43c799df6e75?style=gitweb">
625 <a href="/file/43c799df6e75/foo?style=gitweb">file</a> |
625 <a href="/file/43c799df6e75/foo?style=gitweb">file</a> |
626 <a href="/diff/43c799df6e75/foo?style=gitweb">diff</a> |
626 <a href="/diff/43c799df6e75/foo?style=gitweb">diff</a> |
627 <a href="/annotate/43c799df6e75/foo?style=gitweb">annotate</a>
627 <a href="/annotate/43c799df6e75/foo?style=gitweb">annotate</a>
628 <a href="/log/xyzzy/foo?revcount=30&style=gitweb">less</a>
628 <a href="/log/xyzzy/foo?revcount=30&style=gitweb">less</a>
629 <a href="/log/xyzzy/foo?revcount=120&style=gitweb">more</a>
629 <a href="/log/xyzzy/foo?revcount=120&style=gitweb">more</a>
630 <a href="/log/43c799df6e75/foo?style=gitweb">(0)</a> <a href="/log/tip/foo?style=gitweb">tip</a>
630 <a href="/log/43c799df6e75/foo?style=gitweb">(0)</a> <a href="/log/tip/foo?style=gitweb">tip</a>
631
631
632 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=gitweb' | egrep $REVLINKS
632 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=gitweb' | egrep $REVLINKS
633 <a href="/file/xyzzy/?style=gitweb">files</a> |
633 <a href="/file/xyzzy/?style=gitweb">files</a> |
634 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
634 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
635 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
635 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
636 <a href="/file/tip/foo?style=gitweb">latest</a> |
636 <a href="/file/tip/foo?style=gitweb">latest</a> |
637 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
637 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
638 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
638 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
639 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
639 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
640 <a href="/raw-file/xyzzy/foo">raw</a> |
640 <a href="/raw-file/xyzzy/foo">raw</a> |
641 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
641 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
642 <a class="list" href="/annotate/43c799df6e75/foo?style=gitweb">
642 <a class="list" href="/annotate/43c799df6e75/foo?style=gitweb">
643 <a class="list" href="/annotate/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a></td>
643 <a class="list" href="/annotate/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a></td>
644 <a href="/annotate/43c799df6e75/foo?style=gitweb#l1">
644 <a href="/annotate/43c799df6e75/foo?style=gitweb#l1">
645 <a href="/annotate/43c799df6e75/foo?style=gitweb#l1">
645 <a href="/annotate/43c799df6e75/foo?style=gitweb#l1">
646 <a href="/diff/43c799df6e75/foo?style=gitweb">diff</a>
646 <a href="/diff/43c799df6e75/foo?style=gitweb">diff</a>
647 <a href="/rev/43c799df6e75?style=gitweb">changeset</a>
647 <a href="/rev/43c799df6e75?style=gitweb">changeset</a>
648 <a href="/annotate/a7c1559b7bba/foo?style=gitweb#l2">
648 <a href="/annotate/a7c1559b7bba/foo?style=gitweb#l2">
649 <a href="/annotate/a7c1559b7bba/foo?style=gitweb#l2">
649 <a href="/annotate/a7c1559b7bba/foo?style=gitweb#l2">
650 <a href="/annotate/43c799df6e75/foo?style=gitweb">0</a></div>
650 <a href="/annotate/43c799df6e75/foo?style=gitweb">0</a></div>
651 <a href="/diff/a7c1559b7bba/foo?style=gitweb">diff</a>
651 <a href="/diff/a7c1559b7bba/foo?style=gitweb">diff</a>
652 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a>
652 <a href="/rev/a7c1559b7bba?style=gitweb">changeset</a>
653
653
654 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=gitweb' | egrep $REVLINKS
654 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=gitweb' | egrep $REVLINKS
655 <a href="/file/xyzzy?style=gitweb">files</a> |
655 <a href="/file/xyzzy?style=gitweb">files</a> |
656 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
656 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
657 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
657 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
658 <a href="/file/tip/foo?style=gitweb">latest</a> |
658 <a href="/file/tip/foo?style=gitweb">latest</a> |
659 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
659 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
660 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
660 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
661 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
661 <a href="/comparison/xyzzy/foo?style=gitweb">comparison</a> |
662 <a href="/raw-diff/xyzzy/foo">raw</a> |
662 <a href="/raw-diff/xyzzy/foo">raw</a> |
663 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
663 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
664 <a class="list" href="/diff/43c799df6e75/foo?style=gitweb">
664 <a class="list" href="/diff/43c799df6e75/foo?style=gitweb">
665 <a class="list" href="/diff/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a>
665 <a class="list" href="/diff/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a>
666
666
667 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=gitweb' | egrep $REVLINKS
667 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=gitweb' | egrep $REVLINKS
668 <a href="/file/xyzzy?style=gitweb">files</a> |
668 <a href="/file/xyzzy?style=gitweb">files</a> |
669 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
669 <a href="/rev/xyzzy?style=gitweb">changeset</a> |
670 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
670 <a href="/file/xyzzy/foo?style=gitweb">file</a> |
671 <a href="/file/tip/foo?style=gitweb">latest</a> |
671 <a href="/file/tip/foo?style=gitweb">latest</a> |
672 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
672 <a href="/log/xyzzy/foo?style=gitweb">revisions</a> |
673 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
673 <a href="/annotate/xyzzy/foo?style=gitweb">annotate</a> |
674 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
674 <a href="/diff/xyzzy/foo?style=gitweb">diff</a> |
675 <a href="/raw-diff/xyzzy/foo">raw</a> |
675 <a href="/raw-diff/xyzzy/foo">raw</a> |
676 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
676 <td style="font-family:monospace"><a class="list" href="/rev/a7c1559b7bba?style=gitweb">a7c1559b7bba</a></td>
677 <a class="list" href="/comparison/43c799df6e75/foo?style=gitweb">
677 <a class="list" href="/comparison/43c799df6e75/foo?style=gitweb">
678 <a class="list" href="/comparison/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a>
678 <a class="list" href="/comparison/9d8c40cba617/foo?style=gitweb">9d8c40cba617</a>
679
679
680 (De)referencing symbolic revisions (monoblue)
680 (De)referencing symbolic revisions (monoblue)
681
681
682 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'summary?style=monoblue' | egrep $REVLINKS
682 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'summary?style=monoblue' | egrep $REVLINKS
683 <li><a href="/archive/tip.zip">zip</a></li>
683 <li><a href="/archive/tip.zip">zip</a></li>
684 <a href="/rev/9d8c40cba617?style=monoblue">
684 <a href="/rev/9d8c40cba617?style=monoblue">
685 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
685 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
686 <a href="/file/9d8c40cba617?style=monoblue">files</a>
686 <a href="/file/9d8c40cba617?style=monoblue">files</a>
687 <a href="/rev/a7c1559b7bba?style=monoblue">
687 <a href="/rev/a7c1559b7bba?style=monoblue">
688 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
688 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
689 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
689 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
690 <a href="/rev/43c799df6e75?style=monoblue">
690 <a href="/rev/43c799df6e75?style=monoblue">
691 <a href="/rev/43c799df6e75?style=monoblue">changeset</a> |
691 <a href="/rev/43c799df6e75?style=monoblue">changeset</a> |
692 <a href="/file/43c799df6e75?style=monoblue">files</a>
692 <a href="/file/43c799df6e75?style=monoblue">files</a>
693 <td><a href="/rev/xyzzy?style=monoblue">xyzzy</a></td>
693 <td><a href="/rev/xyzzy?style=monoblue">xyzzy</a></td>
694 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
694 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
695 <a href="/log/a7c1559b7bba?style=monoblue">changelog</a> |
695 <a href="/log/a7c1559b7bba?style=monoblue">changelog</a> |
696 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
696 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
697 <td class="open"><a href="/shortlog/default?style=monoblue">default</a></td>
697 <td class="open"><a href="/shortlog/default?style=monoblue">default</a></td>
698 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
698 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
699 <a href="/log/9d8c40cba617?style=monoblue">changelog</a> |
699 <a href="/log/9d8c40cba617?style=monoblue">changelog</a> |
700 <a href="/file/9d8c40cba617?style=monoblue">files</a>
700 <a href="/file/9d8c40cba617?style=monoblue">files</a>
701
701
702 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=monoblue' | egrep $REVLINKS
702 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=monoblue' | egrep $REVLINKS
703 <li><a href="/graph/tip?style=monoblue">graph</a></li>
703 <li><a href="/graph/tip?style=monoblue">graph</a></li>
704 <li><a href="/file/tip?style=monoblue">files</a></li>
704 <li><a href="/file/tip?style=monoblue">files</a></li>
705 <li><a href="/archive/tip.zip">zip</a></li>
705 <li><a href="/archive/tip.zip">zip</a></li>
706 <a href="/rev/9d8c40cba617?style=monoblue">
706 <a href="/rev/9d8c40cba617?style=monoblue">
707 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
707 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
708 <a href="/file/9d8c40cba617?style=monoblue">files</a>
708 <a href="/file/9d8c40cba617?style=monoblue">files</a>
709 <a href="/rev/a7c1559b7bba?style=monoblue">
709 <a href="/rev/a7c1559b7bba?style=monoblue">
710 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
710 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
711 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
711 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
712 <a href="/rev/43c799df6e75?style=monoblue">
712 <a href="/rev/43c799df6e75?style=monoblue">
713 <a href="/rev/43c799df6e75?style=monoblue">changeset</a> |
713 <a href="/rev/43c799df6e75?style=monoblue">changeset</a> |
714 <a href="/file/43c799df6e75?style=monoblue">files</a>
714 <a href="/file/43c799df6e75?style=monoblue">files</a>
715 <a href="/shortlog/43c799df6e75?style=monoblue">(0)</a> <a href="/shortlog/tip?style=monoblue">tip</a>
715 <a href="/shortlog/43c799df6e75?style=monoblue">(0)</a> <a href="/shortlog/tip?style=monoblue">tip</a>
716
716
717 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log?style=monoblue' | egrep $REVLINKS
717 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log?style=monoblue' | egrep $REVLINKS
718 <li><a href="/graph/tip?style=monoblue">graph</a></li>
718 <li><a href="/graph/tip?style=monoblue">graph</a></li>
719 <li><a href="/file/tip?style=monoblue">files</a></li>
719 <li><a href="/file/tip?style=monoblue">files</a></li>
720 <li><a href="/archive/tip.zip">zip</a></li>
720 <li><a href="/archive/tip.zip">zip</a></li>
721 <a class="title" href="/rev/9d8c40cba617?style=monoblue">
721 <a class="title" href="/rev/9d8c40cba617?style=monoblue">
722 <a class="title" href="/rev/a7c1559b7bba?style=monoblue">
722 <a class="title" href="/rev/a7c1559b7bba?style=monoblue">
723 <a class="title" href="/rev/43c799df6e75?style=monoblue">
723 <a class="title" href="/rev/43c799df6e75?style=monoblue">
724 <a href="/log/43c799df6e75?style=monoblue">(0)</a> <a href="/log/tip?style=monoblue">tip</a>
724 <a href="/log/43c799df6e75?style=monoblue">(0)</a> <a href="/log/tip?style=monoblue">tip</a>
725
725
726 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=monoblue' | egrep $REVLINKS
726 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=monoblue' | egrep $REVLINKS
727 <li><a href="/file/tip?style=monoblue">files</a></li>
727 <li><a href="/file/tip?style=monoblue">files</a></li>
728 <a href="/rev/9d8c40cba617?style=monoblue">third</a>
728 <a href="/rev/9d8c40cba617?style=monoblue">third</a>
729 <a href="/rev/a7c1559b7bba?style=monoblue">second</a>
729 <a href="/rev/a7c1559b7bba?style=monoblue">second</a>
730 <a href="/rev/43c799df6e75?style=monoblue">first</a>
730 <a href="/rev/43c799df6e75?style=monoblue">first</a>
731 <a href="/graph/tip?revcount=30&style=monoblue">less</a>
731 <a href="/graph/tip?revcount=30&style=monoblue">less</a>
732 <a href="/graph/tip?revcount=120&style=monoblue">more</a>
732 <a href="/graph/tip?revcount=120&style=monoblue">more</a>
733 | <a href="/graph/43c799df6e75?style=monoblue">(0)</a> <a href="/graph/tip?style=monoblue">tip</a>
733 | <a href="/graph/43c799df6e75?style=monoblue">(0)</a> <a href="/graph/tip?style=monoblue">tip</a>
734
734
735 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=monoblue' | egrep $REVLINKS
735 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=monoblue' | egrep $REVLINKS
736 <td><a href="/rev/tip?style=monoblue">tip</a></td>
736 <td><a href="/rev/tip?style=monoblue">tip</a></td>
737 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
737 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
738 <a href="/log/9d8c40cba617?style=monoblue">changelog</a> |
738 <a href="/log/9d8c40cba617?style=monoblue">changelog</a> |
739 <a href="/file/9d8c40cba617?style=monoblue">files</a>
739 <a href="/file/9d8c40cba617?style=monoblue">files</a>
740
740
741 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=monoblue' | egrep $REVLINKS
741 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'bookmarks?style=monoblue' | egrep $REVLINKS
742 <td><a href="/rev/xyzzy?style=monoblue">xyzzy</a></td>
742 <td><a href="/rev/xyzzy?style=monoblue">xyzzy</a></td>
743 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
743 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
744 <a href="/log/a7c1559b7bba?style=monoblue">changelog</a> |
744 <a href="/log/a7c1559b7bba?style=monoblue">changelog</a> |
745 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
745 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
746
746
747 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=monoblue' | egrep $REVLINKS
747 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=monoblue' | egrep $REVLINKS
748 <td class="open"><a href="/shortlog/default?style=monoblue">default</a></td>
748 <td class="open"><a href="/shortlog/default?style=monoblue">default</a></td>
749 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
749 <a href="/rev/9d8c40cba617?style=monoblue">changeset</a> |
750 <a href="/log/9d8c40cba617?style=monoblue">changelog</a> |
750 <a href="/log/9d8c40cba617?style=monoblue">changelog</a> |
751 <a href="/file/9d8c40cba617?style=monoblue">files</a>
751 <a href="/file/9d8c40cba617?style=monoblue">files</a>
752
752
753 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=monoblue' | egrep $REVLINKS
753 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=monoblue' | egrep $REVLINKS
754 <li><a href="/graph/tip?style=monoblue">graph</a></li>
754 <li><a href="/graph/tip?style=monoblue">graph</a></li>
755 <li><a href="/rev/tip?style=monoblue">changeset</a></li>
755 <li><a href="/rev/tip?style=monoblue">changeset</a></li>
756 <li><a href="/archive/tip.zip">zip</a></li>
756 <li><a href="/archive/tip.zip">zip</a></li>
757 <td><a href="/file/tip/?style=monoblue">[up]</a></td>
758 <a href="/file/tip/dir?style=monoblue">dir</a>
757 <a href="/file/tip/dir?style=monoblue">dir</a>
759 <a href="/file/tip/dir/?style=monoblue"></a>
758 <a href="/file/tip/dir/?style=monoblue"></a>
760 <td><a href="/file/tip/dir?style=monoblue">files</a></td>
759 <td><a href="/file/tip/dir?style=monoblue">files</a></td>
761 <td><a href="/file/tip/foo?style=monoblue">foo</a></td>
760 <td><a href="/file/tip/foo?style=monoblue">foo</a></td>
762 <a href="/file/tip/foo?style=monoblue">file</a> |
761 <a href="/file/tip/foo?style=monoblue">file</a> |
763 <a href="/log/tip/foo?style=monoblue">revisions</a> |
762 <a href="/log/tip/foo?style=monoblue">revisions</a> |
764 <a href="/annotate/tip/foo?style=monoblue">annotate</a>
763 <a href="/annotate/tip/foo?style=monoblue">annotate</a>
765
764
766 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=monoblue&rev=all()' | egrep $REVLINKS
765 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=monoblue&rev=all()' | egrep $REVLINKS
767 <li><a href="/archive/tip.zip">zip</a></li>
766 <li><a href="/archive/tip.zip">zip</a></li>
768 <a class="title" href="/rev/9d8c40cba617?style=monoblue">
767 <a class="title" href="/rev/9d8c40cba617?style=monoblue">
769 <a class="title" href="/rev/a7c1559b7bba?style=monoblue">
768 <a class="title" href="/rev/a7c1559b7bba?style=monoblue">
770 <a class="title" href="/rev/43c799df6e75?style=monoblue">
769 <a class="title" href="/rev/43c799df6e75?style=monoblue">
771
770
772 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=monoblue' | egrep $REVLINKS
771 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=monoblue' | egrep $REVLINKS
773 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
772 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
774 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
773 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
775 <li><a href="/raw-rev/xyzzy">raw</a></li>
774 <li><a href="/raw-rev/xyzzy">raw</a></li>
776 <li><a href="/archive/xyzzy.zip">zip</a></li>
775 <li><a href="/archive/xyzzy.zip">zip</a></li>
777 <a href="/raw-rev/a7c1559b7bba">
776 <a href="/raw-rev/a7c1559b7bba">
778 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
777 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
779 <dd><a href="/rev/43c799df6e75?style=monoblue">43c799df6e75</a></dd>
778 <dd><a href="/rev/43c799df6e75?style=monoblue">43c799df6e75</a></dd>
780 <dd><a href="/rev/9d8c40cba617?style=monoblue">9d8c40cba617</a></dd>
779 <dd><a href="/rev/9d8c40cba617?style=monoblue">9d8c40cba617</a></dd>
781 <td><a href="/diff/a7c1559b7bba/foo?style=monoblue">foo</a></td>
780 <td><a href="/diff/a7c1559b7bba/foo?style=monoblue">foo</a></td>
782 <a href="/file/a7c1559b7bba/foo?style=monoblue">file</a> |
781 <a href="/file/a7c1559b7bba/foo?style=monoblue">file</a> |
783 <a href="/annotate/a7c1559b7bba/foo?style=monoblue">annotate</a> |
782 <a href="/annotate/a7c1559b7bba/foo?style=monoblue">annotate</a> |
784 <a href="/diff/a7c1559b7bba/foo?style=monoblue">diff</a> |
783 <a href="/diff/a7c1559b7bba/foo?style=monoblue">diff</a> |
785 <a href="/comparison/a7c1559b7bba/foo?style=monoblue">comparison</a> |
784 <a href="/comparison/a7c1559b7bba/foo?style=monoblue">comparison</a> |
786 <a href="/log/a7c1559b7bba/foo?style=monoblue">revisions</a>
785 <a href="/log/a7c1559b7bba/foo?style=monoblue">revisions</a>
787
786
788 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=monoblue' | egrep $REVLINKS
787 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=monoblue' | egrep $REVLINKS
789 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
788 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
790 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
789 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
791 <li><a href="/archive/xyzzy.zip">zip</a></li>
790 <li><a href="/archive/xyzzy.zip">zip</a></li>
792 <a href="/rev/a7c1559b7bba?style=monoblue">
791 <a href="/rev/a7c1559b7bba?style=monoblue">
793 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
792 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a> |
794 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
793 <a href="/file/a7c1559b7bba?style=monoblue">files</a>
795 <a href="/rev/43c799df6e75?style=monoblue">
794 <a href="/rev/43c799df6e75?style=monoblue">
796 <a href="/rev/43c799df6e75?style=monoblue">changeset</a> |
795 <a href="/rev/43c799df6e75?style=monoblue">changeset</a> |
797 <a href="/file/43c799df6e75?style=monoblue">files</a>
796 <a href="/file/43c799df6e75?style=monoblue">files</a>
798 <a href="/shortlog/43c799df6e75?style=monoblue">(0)</a> <a href="/shortlog/tip?style=monoblue">tip</a>
797 <a href="/shortlog/43c799df6e75?style=monoblue">(0)</a> <a href="/shortlog/tip?style=monoblue">tip</a>
799
798
800 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy?style=monoblue' | egrep $REVLINKS
799 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy?style=monoblue' | egrep $REVLINKS
801 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
800 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
802 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
801 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
803 <li><a href="/archive/xyzzy.zip">zip</a></li>
802 <li><a href="/archive/xyzzy.zip">zip</a></li>
804 <a class="title" href="/rev/a7c1559b7bba?style=monoblue">
803 <a class="title" href="/rev/a7c1559b7bba?style=monoblue">
805 <a class="title" href="/rev/43c799df6e75?style=monoblue">
804 <a class="title" href="/rev/43c799df6e75?style=monoblue">
806 <a href="/log/43c799df6e75?style=monoblue">(0)</a> <a href="/log/tip?style=monoblue">tip</a>
805 <a href="/log/43c799df6e75?style=monoblue">(0)</a> <a href="/log/tip?style=monoblue">tip</a>
807
806
808 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=monoblue' | egrep $REVLINKS
807 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=monoblue' | egrep $REVLINKS
809 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
808 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
810 <a href="/rev/a7c1559b7bba?style=monoblue">second</a>
809 <a href="/rev/a7c1559b7bba?style=monoblue">second</a>
811 <a href="/rev/43c799df6e75?style=monoblue">first</a>
810 <a href="/rev/43c799df6e75?style=monoblue">first</a>
812 <a href="/graph/xyzzy?revcount=30&style=monoblue">less</a>
811 <a href="/graph/xyzzy?revcount=30&style=monoblue">less</a>
813 <a href="/graph/xyzzy?revcount=120&style=monoblue">more</a>
812 <a href="/graph/xyzzy?revcount=120&style=monoblue">more</a>
814 | <a href="/graph/43c799df6e75?style=monoblue">(0)</a> <a href="/graph/tip?style=monoblue">tip</a>
813 | <a href="/graph/43c799df6e75?style=monoblue">(0)</a> <a href="/graph/tip?style=monoblue">tip</a>
815
814
816 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=monoblue' | egrep $REVLINKS
815 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=monoblue' | egrep $REVLINKS
817 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
816 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
818 <li><a href="/rev/xyzzy?style=monoblue">changeset</a></li>
817 <li><a href="/rev/xyzzy?style=monoblue">changeset</a></li>
819 <li><a href="/archive/xyzzy.zip">zip</a></li>
818 <li><a href="/archive/xyzzy.zip">zip</a></li>
820 <td><a href="/file/xyzzy/?style=monoblue">[up]</a></td>
821 <a href="/file/xyzzy/dir?style=monoblue">dir</a>
819 <a href="/file/xyzzy/dir?style=monoblue">dir</a>
822 <a href="/file/xyzzy/dir/?style=monoblue"></a>
820 <a href="/file/xyzzy/dir/?style=monoblue"></a>
823 <td><a href="/file/xyzzy/dir?style=monoblue">files</a></td>
821 <td><a href="/file/xyzzy/dir?style=monoblue">files</a></td>
824 <td><a href="/file/xyzzy/foo?style=monoblue">foo</a></td>
822 <td><a href="/file/xyzzy/foo?style=monoblue">foo</a></td>
825 <a href="/file/xyzzy/foo?style=monoblue">file</a> |
823 <a href="/file/xyzzy/foo?style=monoblue">file</a> |
826 <a href="/log/xyzzy/foo?style=monoblue">revisions</a> |
824 <a href="/log/xyzzy/foo?style=monoblue">revisions</a> |
827 <a href="/annotate/xyzzy/foo?style=monoblue">annotate</a>
825 <a href="/annotate/xyzzy/foo?style=monoblue">annotate</a>
828
826
829 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=monoblue' | egrep $REVLINKS
827 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=monoblue' | egrep $REVLINKS
830 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
828 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
831 <li><a href="/file/xyzzy/?style=monoblue">files</a></li>
829 <li><a href="/file/xyzzy/?style=monoblue">files</a></li>
832 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
830 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
833 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
831 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
834 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
832 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
835 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
833 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
836 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
834 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
837 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
835 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
838 <dd><a class="list" href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
836 <dd><a class="list" href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
839 <a href="/file/43c799df6e75/foo?style=monoblue">
837 <a href="/file/43c799df6e75/foo?style=monoblue">
840 <a href="/file/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a>
838 <a href="/file/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a>
841
839
842 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=monoblue' | egrep $REVLINKS
840 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=monoblue' | egrep $REVLINKS
843 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
841 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
844 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
842 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
845 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
843 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
846 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
844 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
847 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
845 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
848 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
846 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
849 <li><a href="/rss-log/tip/foo">rss</a></li>
847 <li><a href="/rss-log/tip/foo">rss</a></li>
850 <a href="/rev/a7c1559b7bba?style=monoblue">
848 <a href="/rev/a7c1559b7bba?style=monoblue">
851 <a href="/file/a7c1559b7bba/foo?style=monoblue">file</a> |
849 <a href="/file/a7c1559b7bba/foo?style=monoblue">file</a> |
852 <a href="/diff/a7c1559b7bba/foo?style=monoblue">diff</a> |
850 <a href="/diff/a7c1559b7bba/foo?style=monoblue">diff</a> |
853 <a href="/annotate/a7c1559b7bba/foo?style=monoblue">annotate</a>
851 <a href="/annotate/a7c1559b7bba/foo?style=monoblue">annotate</a>
854 <a href="/rev/43c799df6e75?style=monoblue">
852 <a href="/rev/43c799df6e75?style=monoblue">
855 <a href="/file/43c799df6e75/foo?style=monoblue">file</a> |
853 <a href="/file/43c799df6e75/foo?style=monoblue">file</a> |
856 <a href="/diff/43c799df6e75/foo?style=monoblue">diff</a> |
854 <a href="/diff/43c799df6e75/foo?style=monoblue">diff</a> |
857 <a href="/annotate/43c799df6e75/foo?style=monoblue">annotate</a>
855 <a href="/annotate/43c799df6e75/foo?style=monoblue">annotate</a>
858 <a href="/log/43c799df6e75/foo?style=monoblue">(0)</a> <a href="/log/tip/foo?style=monoblue">tip</a>
856 <a href="/log/43c799df6e75/foo?style=monoblue">(0)</a> <a href="/log/tip/foo?style=monoblue">tip</a>
859
857
860 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=monoblue' | egrep $REVLINKS
858 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=monoblue' | egrep $REVLINKS
861 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
859 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
862 <li><a href="/file/xyzzy/?style=monoblue">files</a></li>
860 <li><a href="/file/xyzzy/?style=monoblue">files</a></li>
863 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
861 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
864 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
862 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
865 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
863 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
866 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
864 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
867 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
865 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
868 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
866 <li><a href="/raw-file/xyzzy/foo">raw</a></li>
869 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
867 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
870 <a href="/annotate/43c799df6e75/foo?style=monoblue">
868 <a href="/annotate/43c799df6e75/foo?style=monoblue">
871 <a href="/annotate/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a>
869 <a href="/annotate/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a>
872 <a href="/annotate/43c799df6e75/foo?style=monoblue#l1">
870 <a href="/annotate/43c799df6e75/foo?style=monoblue#l1">
873 <a href="/annotate/43c799df6e75/foo?style=monoblue#l1">
871 <a href="/annotate/43c799df6e75/foo?style=monoblue#l1">
874 <a href="/diff/43c799df6e75/foo?style=monoblue">diff</a>
872 <a href="/diff/43c799df6e75/foo?style=monoblue">diff</a>
875 <a href="/rev/43c799df6e75?style=monoblue">changeset</a>
873 <a href="/rev/43c799df6e75?style=monoblue">changeset</a>
876 <a href="/annotate/a7c1559b7bba/foo?style=monoblue#l2">
874 <a href="/annotate/a7c1559b7bba/foo?style=monoblue#l2">
877 <a href="/annotate/a7c1559b7bba/foo?style=monoblue#l2">
875 <a href="/annotate/a7c1559b7bba/foo?style=monoblue#l2">
878 <a href="/annotate/43c799df6e75/foo?style=monoblue">0</a></div>
876 <a href="/annotate/43c799df6e75/foo?style=monoblue">0</a></div>
879 <a href="/diff/a7c1559b7bba/foo?style=monoblue">diff</a>
877 <a href="/diff/a7c1559b7bba/foo?style=monoblue">diff</a>
880 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a>
878 <a href="/rev/a7c1559b7bba?style=monoblue">changeset</a>
881
879
882 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=monoblue' | egrep $REVLINKS
880 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=monoblue' | egrep $REVLINKS
883 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
881 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
884 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
882 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
885 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
883 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
886 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
884 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
887 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
885 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
888 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
886 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
889 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
887 <li><a href="/comparison/xyzzy/foo?style=monoblue">comparison</a></li>
890 <li><a href="/raw-diff/xyzzy/foo">raw</a></li>
888 <li><a href="/raw-diff/xyzzy/foo">raw</a></li>
891 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
889 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
892 <dd><a href="/diff/43c799df6e75/foo?style=monoblue">43c799df6e75</a></dd>
890 <dd><a href="/diff/43c799df6e75/foo?style=monoblue">43c799df6e75</a></dd>
893 <dd><a href="/diff/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a></dd>
891 <dd><a href="/diff/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a></dd>
894
892
895 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=monoblue' | egrep $REVLINKS
893 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'comparison/xyzzy/foo?style=monoblue' | egrep $REVLINKS
896 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
894 <li><a href="/graph/xyzzy?style=monoblue">graph</a></li>
897 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
895 <li><a href="/file/xyzzy?style=monoblue">files</a></li>
898 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
896 <li><a href="/file/xyzzy/foo?style=monoblue">file</a></li>
899 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
897 <li><a href="/file/tip/foo?style=monoblue">latest</a></li>
900 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
898 <li><a href="/log/xyzzy/foo?style=monoblue">revisions</a></li>
901 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
899 <li><a href="/annotate/xyzzy/foo?style=monoblue">annotate</a></li>
902 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
900 <li><a href="/diff/xyzzy/foo?style=monoblue">diff</a></li>
903 <li><a href="/raw-diff/xyzzy/foo">raw</a></li>
901 <li><a href="/raw-diff/xyzzy/foo">raw</a></li>
904 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
902 <dd><a href="/rev/a7c1559b7bba?style=monoblue">a7c1559b7bba</a></dd>
905 <dd><a href="/comparison/43c799df6e75/foo?style=monoblue">43c799df6e75</a></dd>
903 <dd><a href="/comparison/43c799df6e75/foo?style=monoblue">43c799df6e75</a></dd>
906 <dd><a href="/comparison/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a></dd>
904 <dd><a href="/comparison/9d8c40cba617/foo?style=monoblue">9d8c40cba617</a></dd>
907
905
908 (De)referencing symbolic revisions (spartan)
906 (De)referencing symbolic revisions (spartan)
909
907
910 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=spartan' | egrep $REVLINKS
908 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=spartan' | egrep $REVLINKS
911 <a href="/log/tip?style=spartan">changelog</a>
909 <a href="/log/tip?style=spartan">changelog</a>
912 <a href="/graph/tip?style=spartan">graph</a>
910 <a href="/graph/tip?style=spartan">graph</a>
913 <a href="/file/tip/?style=spartan">files</a>
911 <a href="/file/tip/?style=spartan">files</a>
914 <a href="/archive/tip.zip">zip</a>
912 <a href="/archive/tip.zip">zip</a>
915 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
913 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
916 <td class="node"><a href="/rev/9d8c40cba617?style=spartan">third</a></td>
914 <td class="node"><a href="/rev/9d8c40cba617?style=spartan">third</a></td>
917 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">second</a></td>
915 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">second</a></td>
918 <td class="node"><a href="/rev/43c799df6e75?style=spartan">first</a></td>
916 <td class="node"><a href="/rev/43c799df6e75?style=spartan">first</a></td>
919 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
917 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
920
918
921 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log?style=spartan' | egrep $REVLINKS
919 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log?style=spartan' | egrep $REVLINKS
922 <a href="/shortlog/tip?style=spartan">shortlog</a>
920 <a href="/shortlog/tip?style=spartan">shortlog</a>
923 <a href="/graph/tip?style=spartan">graph</a>
921 <a href="/graph/tip?style=spartan">graph</a>
924 <a href="/file/tip?style=spartan">files</a>
922 <a href="/file/tip?style=spartan">files</a>
925 <a href="/archive/tip.zip">zip</a>
923 <a href="/archive/tip.zip">zip</a>
926 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
924 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
927 <td class="node"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
925 <td class="node"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
928 <th class="files"><a href="/file/9d8c40cba617?style=spartan">files</a>:</th>
926 <th class="files"><a href="/file/9d8c40cba617?style=spartan">files</a>:</th>
929 <td class="files"><a href="/diff/9d8c40cba617/foo?style=spartan">foo</a> </td>
927 <td class="files"><a href="/diff/9d8c40cba617/foo?style=spartan">foo</a> </td>
930 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
928 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
931 <th class="files"><a href="/file/a7c1559b7bba?style=spartan">files</a>:</th>
929 <th class="files"><a href="/file/a7c1559b7bba?style=spartan">files</a>:</th>
932 <td class="files"><a href="/diff/a7c1559b7bba/foo?style=spartan">foo</a> </td>
930 <td class="files"><a href="/diff/a7c1559b7bba/foo?style=spartan">foo</a> </td>
933 <td class="node"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
931 <td class="node"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
934 <th class="files"><a href="/file/43c799df6e75?style=spartan">files</a>:</th>
932 <th class="files"><a href="/file/43c799df6e75?style=spartan">files</a>:</th>
935 <td class="files"><a href="/diff/43c799df6e75/dir/bar?style=spartan">dir/bar</a> <a href="/diff/43c799df6e75/foo?style=spartan">foo</a> </td>
933 <td class="files"><a href="/diff/43c799df6e75/dir/bar?style=spartan">dir/bar</a> <a href="/diff/43c799df6e75/foo?style=spartan">foo</a> </td>
936 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
934 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
937
935
938 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=spartan' | egrep $REVLINKS
936 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph?style=spartan' | egrep $REVLINKS
939 <a href="/log/tip?style=spartan">changelog</a>
937 <a href="/log/tip?style=spartan">changelog</a>
940 <a href="/shortlog/tip?style=spartan">shortlog</a>
938 <a href="/shortlog/tip?style=spartan">shortlog</a>
941 <a href="/file/tip/?style=spartan">files</a>
939 <a href="/file/tip/?style=spartan">files</a>
942 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
940 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
943 <a href="/rev/9d8c40cba617?style=spartan">third</a>
941 <a href="/rev/9d8c40cba617?style=spartan">third</a>
944 <a href="/rev/a7c1559b7bba?style=spartan">second</a>
942 <a href="/rev/a7c1559b7bba?style=spartan">second</a>
945 <a href="/rev/43c799df6e75?style=spartan">first</a>
943 <a href="/rev/43c799df6e75?style=spartan">first</a>
946 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
944 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
947
945
948 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=spartan' | egrep $REVLINKS
946 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'tags?style=spartan' | egrep $REVLINKS
949 <a href="/rev/9d8c40cba617?style=spartan">tip</a>
947 <a href="/rev/9d8c40cba617?style=spartan">tip</a>
950
948
951 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=spartan' | egrep $REVLINKS
949 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'branches?style=spartan' | egrep $REVLINKS
952 <a href="/shortlog/9d8c40cba617?style=spartan" class="open">default</a>
950 <a href="/shortlog/9d8c40cba617?style=spartan" class="open">default</a>
953
951
954 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=spartan' | egrep $REVLINKS
952 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file?style=spartan' | egrep $REVLINKS
955 <a href="/log/tip?style=spartan">changelog</a>
953 <a href="/log/tip?style=spartan">changelog</a>
956 <a href="/shortlog/tip?style=spartan">shortlog</a>
954 <a href="/shortlog/tip?style=spartan">shortlog</a>
957 <a href="/graph/tip?style=spartan">graph</a>
955 <a href="/graph/tip?style=spartan">graph</a>
958 <a href="/rev/tip?style=spartan">changeset</a>
956 <a href="/rev/tip?style=spartan">changeset</a>
959 <a href="/archive/tip.zip">zip</a>
957 <a href="/archive/tip.zip">zip</a>
960 <h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/9d8c40cba617">9d8c40cba617</a>: /</h2>
958 <h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/9d8c40cba617">9d8c40cba617</a>: /</h2>
961 <td><a href="/file/tip/?style=spartan">[up]</a>
959 <td><a href="/file/tip/?style=spartan">[up]</a>
962 <a href="/file/tip/dir?style=spartan">dir/</a>
960 <a href="/file/tip/dir?style=spartan">dir/</a>
963 <a href="/file/tip/dir/?style=spartan">
961 <a href="/file/tip/dir/?style=spartan">
964 <td><a href="/file/tip/foo?style=spartan">foo</a></td>
962 <td><a href="/file/tip/foo?style=spartan">foo</a></td>
965
963
966 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=spartan&rev=all()' | egrep $REVLINKS
964 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog?style=spartan&rev=all()' | egrep $REVLINKS
967 <a href="/archive/tip.zip">zip</a>
965 <a href="/archive/tip.zip">zip</a>
968 <td class="node"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
966 <td class="node"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
969 <a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a>
967 <a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a>
970 <th class="files"><a href="/file/9d8c40cba617?style=spartan">files</a>:</th>
968 <th class="files"><a href="/file/9d8c40cba617?style=spartan">files</a>:</th>
971 <td class="files"><a href="/diff/9d8c40cba617/foo?style=spartan">foo</a> </td>
969 <td class="files"><a href="/diff/9d8c40cba617/foo?style=spartan">foo</a> </td>
972 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
970 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
973 <a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a>
971 <a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a>
974 <td class="child"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
972 <td class="child"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
975 <th class="files"><a href="/file/a7c1559b7bba?style=spartan">files</a>:</th>
973 <th class="files"><a href="/file/a7c1559b7bba?style=spartan">files</a>:</th>
976 <td class="files"><a href="/diff/a7c1559b7bba/foo?style=spartan">foo</a> </td>
974 <td class="files"><a href="/diff/a7c1559b7bba/foo?style=spartan">foo</a> </td>
977 <td class="node"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
975 <td class="node"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
978 <td class="child"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
976 <td class="child"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
979 <th class="files"><a href="/file/43c799df6e75?style=spartan">files</a>:</th>
977 <th class="files"><a href="/file/43c799df6e75?style=spartan">files</a>:</th>
980 <td class="files"><a href="/diff/43c799df6e75/dir/bar?style=spartan">dir/bar</a> <a href="/diff/43c799df6e75/foo?style=spartan">foo</a> </td>
978 <td class="files"><a href="/diff/43c799df6e75/dir/bar?style=spartan">dir/bar</a> <a href="/diff/43c799df6e75/foo?style=spartan">foo</a> </td>
981
979
982 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=spartan' | egrep $REVLINKS
980 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'rev/xyzzy?style=spartan' | egrep $REVLINKS
983 <a href="/log/xyzzy?style=spartan">changelog</a>
981 <a href="/log/xyzzy?style=spartan">changelog</a>
984 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
982 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
985 <a href="/graph/xyzzy?style=spartan">graph</a>
983 <a href="/graph/xyzzy?style=spartan">graph</a>
986 <a href="/file/xyzzy?style=spartan">files</a>
984 <a href="/file/xyzzy?style=spartan">files</a>
987 <a href="/raw-rev/xyzzy">raw</a>
985 <a href="/raw-rev/xyzzy">raw</a>
988 <a href="/archive/xyzzy.zip">zip</a>
986 <a href="/archive/xyzzy.zip">zip</a>
989 <td class="changeset"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
987 <td class="changeset"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
990 <td class="parent"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
988 <td class="parent"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
991 <td class="child"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
989 <td class="child"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
992 <td class="files"><a href="/file/a7c1559b7bba/foo?style=spartan">foo</a> </td>
990 <td class="files"><a href="/file/a7c1559b7bba/foo?style=spartan">foo</a> </td>
993
991
994 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=spartan' | egrep $REVLINKS
992 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'shortlog/xyzzy?style=spartan' | egrep $REVLINKS
995 <a href="/log/xyzzy?style=spartan">changelog</a>
993 <a href="/log/xyzzy?style=spartan">changelog</a>
996 <a href="/graph/xyzzy?style=spartan">graph</a>
994 <a href="/graph/xyzzy?style=spartan">graph</a>
997 <a href="/file/xyzzy/?style=spartan">files</a>
995 <a href="/file/xyzzy/?style=spartan">files</a>
998 <a href="/archive/xyzzy.zip">zip</a>
996 <a href="/archive/xyzzy.zip">zip</a>
999 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
997 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
1000 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">second</a></td>
998 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">second</a></td>
1001 <td class="node"><a href="/rev/43c799df6e75?style=spartan">first</a></td>
999 <td class="node"><a href="/rev/43c799df6e75?style=spartan">first</a></td>
1002 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
1000 navigate: <small class="navigate"><a href="/shortlog/43c799df6e75?style=spartan">(0)</a> <a href="/shortlog/tip?style=spartan">tip</a> </small>
1003
1001
1004 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy?style=spartan' | egrep $REVLINKS
1002 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy?style=spartan' | egrep $REVLINKS
1005 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1003 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1006 <a href="/graph/xyzzy?style=spartan">graph</a>
1004 <a href="/graph/xyzzy?style=spartan">graph</a>
1007 <a href="/file/xyzzy?style=spartan">files</a>
1005 <a href="/file/xyzzy?style=spartan">files</a>
1008 <a href="/archive/xyzzy.zip">zip</a>
1006 <a href="/archive/xyzzy.zip">zip</a>
1009 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
1007 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
1010 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1008 <td class="node"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1011 <th class="files"><a href="/file/a7c1559b7bba?style=spartan">files</a>:</th>
1009 <th class="files"><a href="/file/a7c1559b7bba?style=spartan">files</a>:</th>
1012 <td class="files"><a href="/diff/a7c1559b7bba/foo?style=spartan">foo</a> </td>
1010 <td class="files"><a href="/diff/a7c1559b7bba/foo?style=spartan">foo</a> </td>
1013 <td class="node"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
1011 <td class="node"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
1014 <th class="files"><a href="/file/43c799df6e75?style=spartan">files</a>:</th>
1012 <th class="files"><a href="/file/43c799df6e75?style=spartan">files</a>:</th>
1015 <td class="files"><a href="/diff/43c799df6e75/dir/bar?style=spartan">dir/bar</a> <a href="/diff/43c799df6e75/foo?style=spartan">foo</a> </td>
1013 <td class="files"><a href="/diff/43c799df6e75/dir/bar?style=spartan">dir/bar</a> <a href="/diff/43c799df6e75/foo?style=spartan">foo</a> </td>
1016 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
1014 navigate: <small class="navigate"><a href="/log/43c799df6e75?style=spartan">(0)</a> <a href="/log/tip?style=spartan">tip</a> </small>
1017
1015
1018 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=spartan' | egrep $REVLINKS
1016 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'graph/xyzzy?style=spartan' | egrep $REVLINKS
1019 <a href="/log/xyzzy?style=spartan">changelog</a>
1017 <a href="/log/xyzzy?style=spartan">changelog</a>
1020 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1018 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1021 <a href="/file/xyzzy/?style=spartan">files</a>
1019 <a href="/file/xyzzy/?style=spartan">files</a>
1022 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
1020 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
1023 <a href="/rev/a7c1559b7bba?style=spartan">second</a>
1021 <a href="/rev/a7c1559b7bba?style=spartan">second</a>
1024 <a href="/rev/43c799df6e75?style=spartan">first</a>
1022 <a href="/rev/43c799df6e75?style=spartan">first</a>
1025 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
1023 navigate: <small class="navigate"><a href="/graph/43c799df6e75?style=spartan">(0)</a> <a href="/graph/tip?style=spartan">tip</a> </small>
1026
1024
1027 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=spartan' | egrep $REVLINKS
1025 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy?style=spartan' | egrep $REVLINKS
1028 <a href="/log/xyzzy?style=spartan">changelog</a>
1026 <a href="/log/xyzzy?style=spartan">changelog</a>
1029 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1027 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1030 <a href="/graph/xyzzy?style=spartan">graph</a>
1028 <a href="/graph/xyzzy?style=spartan">graph</a>
1031 <a href="/rev/xyzzy?style=spartan">changeset</a>
1029 <a href="/rev/xyzzy?style=spartan">changeset</a>
1032 <a href="/archive/xyzzy.zip">zip</a>
1030 <a href="/archive/xyzzy.zip">zip</a>
1033 <h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/a7c1559b7bba">a7c1559b7bba</a>: /</h2>
1031 <h2><a href="/">Mercurial</a> / files for changeset <a href="/rev/a7c1559b7bba">a7c1559b7bba</a>: /</h2>
1034 <td><a href="/file/xyzzy/?style=spartan">[up]</a>
1032 <td><a href="/file/xyzzy/?style=spartan">[up]</a>
1035 <a href="/file/xyzzy/dir?style=spartan">dir/</a>
1033 <a href="/file/xyzzy/dir?style=spartan">dir/</a>
1036 <a href="/file/xyzzy/dir/?style=spartan">
1034 <a href="/file/xyzzy/dir/?style=spartan">
1037 <td><a href="/file/xyzzy/foo?style=spartan">foo</a></td>
1035 <td><a href="/file/xyzzy/foo?style=spartan">foo</a></td>
1038
1036
1039 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=spartan' | egrep $REVLINKS
1037 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'file/xyzzy/foo?style=spartan' | egrep $REVLINKS
1040 <a href="/log/xyzzy?style=spartan">changelog</a>
1038 <a href="/log/xyzzy?style=spartan">changelog</a>
1041 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1039 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1042 <a href="/graph/xyzzy?style=spartan">graph</a>
1040 <a href="/graph/xyzzy?style=spartan">graph</a>
1043 <a href="/rev/xyzzy?style=spartan">changeset</a>
1041 <a href="/rev/xyzzy?style=spartan">changeset</a>
1044 <a href="/file/xyzzy/?style=spartan">files</a>
1042 <a href="/file/xyzzy/?style=spartan">files</a>
1045 <a href="/log/xyzzy/foo?style=spartan">revisions</a>
1043 <a href="/log/xyzzy/foo?style=spartan">revisions</a>
1046 <a href="/annotate/xyzzy/foo?style=spartan">annotate</a>
1044 <a href="/annotate/xyzzy/foo?style=spartan">annotate</a>
1047 <a href="/raw-file/xyzzy/foo">raw</a>
1045 <a href="/raw-file/xyzzy/foo">raw</a>
1048 <td><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1046 <td><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1049 <a href="/file/43c799df6e75/foo?style=spartan">
1047 <a href="/file/43c799df6e75/foo?style=spartan">
1050 <td><a href="/file/9d8c40cba617/foo?style=spartan">9d8c40cba617</a></td>
1048 <td><a href="/file/9d8c40cba617/foo?style=spartan">9d8c40cba617</a></td>
1051
1049
1052 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=spartan' | egrep $REVLINKS
1050 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'log/xyzzy/foo?style=spartan' | egrep $REVLINKS
1053 href="/atom-log/tip/foo" title="Atom feed for test:foo">
1051 href="/atom-log/tip/foo" title="Atom feed for test:foo">
1054 href="/rss-log/tip/foo" title="RSS feed for test:foo">
1052 href="/rss-log/tip/foo" title="RSS feed for test:foo">
1055 <a href="/file/xyzzy/foo?style=spartan">file</a>
1053 <a href="/file/xyzzy/foo?style=spartan">file</a>
1056 <a href="/annotate/xyzzy/foo?style=spartan">annotate</a>
1054 <a href="/annotate/xyzzy/foo?style=spartan">annotate</a>
1057 <a type="application/rss+xml" href="/rss-log/tip/foo">rss</a>
1055 <a type="application/rss+xml" href="/rss-log/tip/foo">rss</a>
1058 <a type="application/atom+xml" href="/atom-log/tip/foo" title="Atom feed for test:foo">atom</a>
1056 <a type="application/atom+xml" href="/atom-log/tip/foo" title="Atom feed for test:foo">atom</a>
1059 <p>navigate: <small class="navigate"><a href="/log/43c799df6e75/foo?style=spartan">(0)</a> <a href="/log/tip/foo?style=spartan">tip</a> </small></p>
1057 <p>navigate: <small class="navigate"><a href="/log/43c799df6e75/foo?style=spartan">(0)</a> <a href="/log/tip/foo?style=spartan">tip</a> </small></p>
1060 <th class="firstline"><a href="/rev/a7c1559b7bba?style=spartan">second</a></th>
1058 <th class="firstline"><a href="/rev/a7c1559b7bba?style=spartan">second</a></th>
1061 <a href="/file/a7c1559b7bba/foo?style=spartan">a7c1559b7bba</a>
1059 <a href="/file/a7c1559b7bba/foo?style=spartan">a7c1559b7bba</a>
1062 <a href="/diff/a7c1559b7bba/foo?style=spartan">(diff)</a>
1060 <a href="/diff/a7c1559b7bba/foo?style=spartan">(diff)</a>
1063 <a href="/annotate/a7c1559b7bba/foo?style=spartan">(annotate)</a>
1061 <a href="/annotate/a7c1559b7bba/foo?style=spartan">(annotate)</a>
1064 <th class="firstline"><a href="/rev/43c799df6e75?style=spartan">first</a></th>
1062 <th class="firstline"><a href="/rev/43c799df6e75?style=spartan">first</a></th>
1065 <a href="/file/43c799df6e75/foo?style=spartan">43c799df6e75</a>
1063 <a href="/file/43c799df6e75/foo?style=spartan">43c799df6e75</a>
1066 <a href="/diff/43c799df6e75/foo?style=spartan">(diff)</a>
1064 <a href="/diff/43c799df6e75/foo?style=spartan">(diff)</a>
1067 <a href="/annotate/43c799df6e75/foo?style=spartan">(annotate)</a>
1065 <a href="/annotate/43c799df6e75/foo?style=spartan">(annotate)</a>
1068
1066
1069 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=spartan' | egrep $REVLINKS
1067 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'annotate/xyzzy/foo?style=spartan' | egrep $REVLINKS
1070 <a href="/log/xyzzy?style=spartan">changelog</a>
1068 <a href="/log/xyzzy?style=spartan">changelog</a>
1071 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1069 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1072 <a href="/graph/xyzzy?style=spartan">graph</a>
1070 <a href="/graph/xyzzy?style=spartan">graph</a>
1073 <a href="/rev/xyzzy?style=spartan">changeset</a>
1071 <a href="/rev/xyzzy?style=spartan">changeset</a>
1074 <a href="/file/xyzzy/?style=spartan">files</a>
1072 <a href="/file/xyzzy/?style=spartan">files</a>
1075 <a href="/file/xyzzy/foo?style=spartan">file</a>
1073 <a href="/file/xyzzy/foo?style=spartan">file</a>
1076 <a href="/log/xyzzy/foo?style=spartan">revisions</a>
1074 <a href="/log/xyzzy/foo?style=spartan">revisions</a>
1077 <a href="/raw-file/xyzzy/foo">raw</a>
1075 <a href="/raw-file/xyzzy/foo">raw</a>
1078 <td><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1076 <td><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1079 <a href="/annotate/43c799df6e75/foo?style=spartan">
1077 <a href="/annotate/43c799df6e75/foo?style=spartan">
1080 <td><a href="/annotate/9d8c40cba617/foo?style=spartan">9d8c40cba617</a></td>
1078 <td><a href="/annotate/9d8c40cba617/foo?style=spartan">9d8c40cba617</a></td>
1081 <a href="/annotate/43c799df6e75/foo?style=spartan#l1">
1079 <a href="/annotate/43c799df6e75/foo?style=spartan#l1">
1082 <a href="/annotate/43c799df6e75/foo?style=spartan#l1">
1080 <a href="/annotate/43c799df6e75/foo?style=spartan#l1">
1083 <a href="/diff/43c799df6e75/foo?style=spartan">diff</a>
1081 <a href="/diff/43c799df6e75/foo?style=spartan">diff</a>
1084 <a href="/rev/43c799df6e75?style=spartan">changeset</a>
1082 <a href="/rev/43c799df6e75?style=spartan">changeset</a>
1085 <a href="/annotate/a7c1559b7bba/foo?style=spartan#l2">
1083 <a href="/annotate/a7c1559b7bba/foo?style=spartan#l2">
1086 <a href="/annotate/a7c1559b7bba/foo?style=spartan#l2">
1084 <a href="/annotate/a7c1559b7bba/foo?style=spartan#l2">
1087 <a href="/annotate/43c799df6e75/foo?style=spartan">0</a></div>
1085 <a href="/annotate/43c799df6e75/foo?style=spartan">0</a></div>
1088 <a href="/diff/a7c1559b7bba/foo?style=spartan">diff</a>
1086 <a href="/diff/a7c1559b7bba/foo?style=spartan">diff</a>
1089 <a href="/rev/a7c1559b7bba?style=spartan">changeset</a>
1087 <a href="/rev/a7c1559b7bba?style=spartan">changeset</a>
1090
1088
1091 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=spartan' | egrep $REVLINKS
1089 $ "$TESTDIR/get-with-headers.py" $LOCALIP:$HGPORT 'diff/xyzzy/foo?style=spartan' | egrep $REVLINKS
1092 <a href="/log/xyzzy?style=spartan">changelog</a>
1090 <a href="/log/xyzzy?style=spartan">changelog</a>
1093 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1091 <a href="/shortlog/xyzzy?style=spartan">shortlog</a>
1094 <a href="/graph/xyzzy?style=spartan">graph</a>
1092 <a href="/graph/xyzzy?style=spartan">graph</a>
1095 <a href="/rev/xyzzy?style=spartan">changeset</a>
1093 <a href="/rev/xyzzy?style=spartan">changeset</a>
1096 <a href="/file/xyzzy/foo?style=spartan">file</a>
1094 <a href="/file/xyzzy/foo?style=spartan">file</a>
1097 <a href="/log/xyzzy/foo?style=spartan">revisions</a>
1095 <a href="/log/xyzzy/foo?style=spartan">revisions</a>
1098 <a href="/annotate/xyzzy/foo?style=spartan">annotate</a>
1096 <a href="/annotate/xyzzy/foo?style=spartan">annotate</a>
1099 <a href="/raw-diff/xyzzy/foo">raw</a>
1097 <a href="/raw-diff/xyzzy/foo">raw</a>
1100 <td class="revision"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1098 <td class="revision"><a href="/rev/a7c1559b7bba?style=spartan">a7c1559b7bba</a></td>
1101 <td class="parent"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
1099 <td class="parent"><a href="/rev/43c799df6e75?style=spartan">43c799df6e75</a></td>
1102 <td class="child"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
1100 <td class="child"><a href="/rev/9d8c40cba617?style=spartan">9d8c40cba617</a></td>
1103
1101
1104 Done
1102 Done
1105
1103
1106 $ cat errors.log
1104 $ cat errors.log
1107 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
1105 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
1108 $ cd ..
1106 $ cd ..
@@ -1,908 +1,912 b''
1 #require serve
1 #require serve
2
2
3 Some tests for hgweb. Tests static files, plain files and different 404's.
3 Some tests for hgweb. Tests static files, plain files and different 404's.
4
4
5 $ hg init test
5 $ hg init test
6 $ cd test
6 $ cd test
7 $ mkdir da
7 $ mkdir da
8 $ echo foo > da/foo
8 $ echo foo > da/foo
9 $ echo foo > foo
9 $ echo foo > foo
10 $ hg ci -Ambase
10 $ hg ci -Ambase
11 adding da/foo
11 adding da/foo
12 adding foo
12 adding foo
13 $ hg bookmark -r0 '@'
13 $ hg bookmark -r0 '@'
14 $ hg bookmark -r0 'a b c'
14 $ hg bookmark -r0 'a b c'
15 $ hg bookmark -r0 'd/e/f'
15 $ hg bookmark -r0 'd/e/f'
16 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
16 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
17 $ cat hg.pid >> $DAEMON_PIDS
17 $ cat hg.pid >> $DAEMON_PIDS
18
18
19 manifest
19 manifest
20
20
21 $ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=raw')
21 $ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=raw')
22 200 Script output follows
22 200 Script output follows
23
23
24
24
25 drwxr-xr-x da
25 drwxr-xr-x da
26 -rw-r--r-- 4 foo
26 -rw-r--r-- 4 foo
27
27
28
28
29 $ (get-with-headers.py localhost:$HGPORT 'file/tip/da?style=raw')
29 $ (get-with-headers.py localhost:$HGPORT 'file/tip/da?style=raw')
30 200 Script output follows
30 200 Script output follows
31
31
32
32
33 -rw-r--r-- 4 foo
33 -rw-r--r-- 4 foo
34
34
35
35
36
36
37 plain file
37 plain file
38
38
39 $ get-with-headers.py localhost:$HGPORT 'file/tip/foo?style=raw'
39 $ get-with-headers.py localhost:$HGPORT 'file/tip/foo?style=raw'
40 200 Script output follows
40 200 Script output follows
41
41
42 foo
42 foo
43
43
44 should give a 404 - static file that does not exist
44 should give a 404 - static file that does not exist
45
45
46 $ get-with-headers.py localhost:$HGPORT 'static/bogus'
46 $ get-with-headers.py localhost:$HGPORT 'static/bogus'
47 404 Not Found
47 404 Not Found
48
48
49 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
49 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
50 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
50 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
51 <head>
51 <head>
52 <link rel="icon" href="/static/hgicon.png" type="image/png" />
52 <link rel="icon" href="/static/hgicon.png" type="image/png" />
53 <meta name="robots" content="index, nofollow" />
53 <meta name="robots" content="index, nofollow" />
54 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
54 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
55 <script type="text/javascript" src="/static/mercurial.js"></script>
55 <script type="text/javascript" src="/static/mercurial.js"></script>
56
56
57 <title>test: error</title>
57 <title>test: error</title>
58 </head>
58 </head>
59 <body>
59 <body>
60
60
61 <div class="container">
61 <div class="container">
62 <div class="menu">
62 <div class="menu">
63 <div class="logo">
63 <div class="logo">
64 <a href="https://mercurial-scm.org/">
64 <a href="https://mercurial-scm.org/">
65 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
65 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
66 </div>
66 </div>
67 <ul>
67 <ul>
68 <li><a href="/shortlog">log</a></li>
68 <li><a href="/shortlog">log</a></li>
69 <li><a href="/graph">graph</a></li>
69 <li><a href="/graph">graph</a></li>
70 <li><a href="/tags">tags</a></li>
70 <li><a href="/tags">tags</a></li>
71 <li><a href="/bookmarks">bookmarks</a></li>
71 <li><a href="/bookmarks">bookmarks</a></li>
72 <li><a href="/branches">branches</a></li>
72 <li><a href="/branches">branches</a></li>
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>error</h3>
82 <h3>error</h3>
83
83
84
84
85 <form class="search" action="/log">
85 <form class="search" action="/log">
86
86
87 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
87 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
88 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
88 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
89 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
89 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
90 </form>
90 </form>
91
91
92 <div class="description">
92 <div class="description">
93 <p>
93 <p>
94 An error occurred while processing your request:
94 An error occurred while processing your request:
95 </p>
95 </p>
96 <p>
96 <p>
97 Not Found
97 Not Found
98 </p>
98 </p>
99 </div>
99 </div>
100 </div>
100 </div>
101 </div>
101 </div>
102
102
103
103
104
104
105 </body>
105 </body>
106 </html>
106 </html>
107
107
108 [1]
108 [1]
109
109
110 should give a 404 - bad revision
110 should give a 404 - bad revision
111
111
112 $ get-with-headers.py localhost:$HGPORT 'file/spam/foo?style=raw'
112 $ get-with-headers.py localhost:$HGPORT 'file/spam/foo?style=raw'
113 404 Not Found
113 404 Not Found
114
114
115
115
116 error: revision not found: spam
116 error: revision not found: spam
117 [1]
117 [1]
118
118
119 should give a 400 - bad command
119 should give a 400 - bad command
120
120
121 $ get-with-headers.py localhost:$HGPORT 'file/tip/foo?cmd=spam&style=raw'
121 $ get-with-headers.py localhost:$HGPORT 'file/tip/foo?cmd=spam&style=raw'
122 400* (glob)
122 400* (glob)
123
123
124
124
125 error: no such method: spam
125 error: no such method: spam
126 [1]
126 [1]
127
127
128 $ get-with-headers.py --headeronly localhost:$HGPORT '?cmd=spam'
128 $ get-with-headers.py --headeronly localhost:$HGPORT '?cmd=spam'
129 400 no such method: spam
129 400 no such method: spam
130 [1]
130 [1]
131
131
132 should give a 400 - bad command as a part of url path (issue4071)
132 should give a 400 - bad command as a part of url path (issue4071)
133
133
134 $ get-with-headers.py --headeronly localhost:$HGPORT 'spam'
134 $ get-with-headers.py --headeronly localhost:$HGPORT 'spam'
135 400 no such method: spam
135 400 no such method: spam
136 [1]
136 [1]
137
137
138 $ get-with-headers.py --headeronly localhost:$HGPORT 'raw-spam'
138 $ get-with-headers.py --headeronly localhost:$HGPORT 'raw-spam'
139 400 no such method: spam
139 400 no such method: spam
140 [1]
140 [1]
141
141
142 $ get-with-headers.py --headeronly localhost:$HGPORT 'spam/tip/foo'
142 $ get-with-headers.py --headeronly localhost:$HGPORT 'spam/tip/foo'
143 400 no such method: spam
143 400 no such method: spam
144 [1]
144 [1]
145
145
146 should give a 404 - file does not exist
146 should give a 404 - file does not exist
147
147
148 $ get-with-headers.py localhost:$HGPORT 'file/tip/bork?style=raw'
148 $ get-with-headers.py localhost:$HGPORT 'file/tip/bork?style=raw'
149 404 Not Found
149 404 Not Found
150
150
151
151
152 error: bork@2ef0ac749a14: not found in manifest
152 error: bork@2ef0ac749a14: not found in manifest
153 [1]
153 [1]
154 $ get-with-headers.py localhost:$HGPORT 'file/tip/bork'
154 $ get-with-headers.py localhost:$HGPORT 'file/tip/bork'
155 404 Not Found
155 404 Not Found
156
156
157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
159 <head>
159 <head>
160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
161 <meta name="robots" content="index, nofollow" />
161 <meta name="robots" content="index, nofollow" />
162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
163 <script type="text/javascript" src="/static/mercurial.js"></script>
163 <script type="text/javascript" src="/static/mercurial.js"></script>
164
164
165 <title>test: error</title>
165 <title>test: error</title>
166 </head>
166 </head>
167 <body>
167 <body>
168
168
169 <div class="container">
169 <div class="container">
170 <div class="menu">
170 <div class="menu">
171 <div class="logo">
171 <div class="logo">
172 <a href="https://mercurial-scm.org/">
172 <a href="https://mercurial-scm.org/">
173 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
173 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
174 </div>
174 </div>
175 <ul>
175 <ul>
176 <li><a href="/shortlog">log</a></li>
176 <li><a href="/shortlog">log</a></li>
177 <li><a href="/graph">graph</a></li>
177 <li><a href="/graph">graph</a></li>
178 <li><a href="/tags">tags</a></li>
178 <li><a href="/tags">tags</a></li>
179 <li><a href="/bookmarks">bookmarks</a></li>
179 <li><a href="/bookmarks">bookmarks</a></li>
180 <li><a href="/branches">branches</a></li>
180 <li><a href="/branches">branches</a></li>
181 </ul>
181 </ul>
182 <ul>
182 <ul>
183 <li><a href="/help">help</a></li>
183 <li><a href="/help">help</a></li>
184 </ul>
184 </ul>
185 </div>
185 </div>
186
186
187 <div class="main">
187 <div class="main">
188
188
189 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
189 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
190 <h3>error</h3>
190 <h3>error</h3>
191
191
192
192
193 <form class="search" action="/log">
193 <form class="search" action="/log">
194
194
195 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
195 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
196 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
196 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
197 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
197 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
198 </form>
198 </form>
199
199
200 <div class="description">
200 <div class="description">
201 <p>
201 <p>
202 An error occurred while processing your request:
202 An error occurred while processing your request:
203 </p>
203 </p>
204 <p>
204 <p>
205 bork@2ef0ac749a14: not found in manifest
205 bork@2ef0ac749a14: not found in manifest
206 </p>
206 </p>
207 </div>
207 </div>
208 </div>
208 </div>
209 </div>
209 </div>
210
210
211
211
212
212
213 </body>
213 </body>
214 </html>
214 </html>
215
215
216 [1]
216 [1]
217 $ get-with-headers.py localhost:$HGPORT 'diff/tip/bork?style=raw'
217 $ get-with-headers.py localhost:$HGPORT 'diff/tip/bork?style=raw'
218 404 Not Found
218 404 Not Found
219
219
220
220
221 error: bork@2ef0ac749a14: not found in manifest
221 error: bork@2ef0ac749a14: not found in manifest
222 [1]
222 [1]
223
223
224 try bad style
224 try bad style
225
225
226 $ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=foobar')
226 $ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=foobar')
227 200 Script output follows
227 200 Script output follows
228
228
229 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
229 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
230 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
230 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
231 <head>
231 <head>
232 <link rel="icon" href="/static/hgicon.png" type="image/png" />
232 <link rel="icon" href="/static/hgicon.png" type="image/png" />
233 <meta name="robots" content="index, nofollow" />
233 <meta name="robots" content="index, nofollow" />
234 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
234 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
235 <script type="text/javascript" src="/static/mercurial.js"></script>
235 <script type="text/javascript" src="/static/mercurial.js"></script>
236
236
237 <title>test: 2ef0ac749a14 /</title>
237 <title>test: 2ef0ac749a14 /</title>
238 </head>
238 </head>
239 <body>
239 <body>
240
240
241 <div class="container">
241 <div class="container">
242 <div class="menu">
242 <div class="menu">
243 <div class="logo">
243 <div class="logo">
244 <a href="https://mercurial-scm.org/">
244 <a href="https://mercurial-scm.org/">
245 <img src="/static/hglogo.png" alt="mercurial" /></a>
245 <img src="/static/hglogo.png" alt="mercurial" /></a>
246 </div>
246 </div>
247 <ul>
247 <ul>
248 <li><a href="/shortlog/tip">log</a></li>
248 <li><a href="/shortlog/tip">log</a></li>
249 <li><a href="/graph/tip">graph</a></li>
249 <li><a href="/graph/tip">graph</a></li>
250 <li><a href="/tags">tags</a></li>
250 <li><a href="/tags">tags</a></li>
251 <li><a href="/bookmarks">bookmarks</a></li>
251 <li><a href="/bookmarks">bookmarks</a></li>
252 <li><a href="/branches">branches</a></li>
252 <li><a href="/branches">branches</a></li>
253 </ul>
253 </ul>
254 <ul>
254 <ul>
255 <li><a href="/rev/tip">changeset</a></li>
255 <li><a href="/rev/tip">changeset</a></li>
256 <li class="active">browse</li>
256 <li class="active">browse</li>
257 </ul>
257 </ul>
258 <ul>
258 <ul>
259
259
260 </ul>
260 </ul>
261 <ul>
261 <ul>
262 <li><a href="/help">help</a></li>
262 <li><a href="/help">help</a></li>
263 </ul>
263 </ul>
264 </div>
264 </div>
265
265
266 <div class="main">
266 <div class="main">
267 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
267 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
268 <h3>
268 <h3>
269 directory / @ 0:<a href="/rev/2ef0ac749a14">2ef0ac749a14</a>
269 directory / @ 0:<a href="/rev/2ef0ac749a14">2ef0ac749a14</a>
270 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span> <span class="tag">@</span> <span class="tag">a b c</span> <span class="tag">d/e/f</span>
270 <span class="phase">draft</span> <span class="branchhead">default</span> <span class="tag">tip</span> <span class="tag">@</span> <span class="tag">a b c</span> <span class="tag">d/e/f</span>
271 </h3>
271 </h3>
272
272
273
273
274 <form class="search" action="/log">
274 <form class="search" action="/log">
275
275
276 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
276 <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
277 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
277 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
278 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
278 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
279 </form>
279 </form>
280
280
281 <table class="bigtable">
281 <table class="bigtable">
282 <thead>
282 <thead>
283 <tr>
283 <tr>
284 <th class="name">name</th>
284 <th class="name">name</th>
285 <th class="size">size</th>
285 <th class="size">size</th>
286 <th class="permissions">permissions</th>
286 <th class="permissions">permissions</th>
287 </tr>
287 </tr>
288 </thead>
288 </thead>
289 <tbody class="stripes2">
289 <tbody class="stripes2">
290
290
291
291
292 <tr class="fileline">
292 <tr class="fileline">
293 <td class="name">
293 <td class="name">
294 <a href="/file/tip/da">
294 <a href="/file/tip/da">
295 <img src="/static/coal-folder.png" alt="dir."/> da/
295 <img src="/static/coal-folder.png" alt="dir."/> da/
296 </a>
296 </a>
297 <a href="/file/tip/da/">
297 <a href="/file/tip/da/">
298
298
299 </a>
299 </a>
300 </td>
300 </td>
301 <td class="size"></td>
301 <td class="size"></td>
302 <td class="permissions">drwxr-xr-x</td>
302 <td class="permissions">drwxr-xr-x</td>
303 </tr>
303 </tr>
304
304
305 <tr class="fileline">
305 <tr class="fileline">
306 <td class="filename">
306 <td class="filename">
307 <a href="/file/tip/foo">
307 <a href="/file/tip/foo">
308 <img src="/static/coal-file.png" alt="file"/> foo
308 <img src="/static/coal-file.png" alt="file"/> foo
309 </a>
309 </a>
310 </td>
310 </td>
311 <td class="size">4</td>
311 <td class="size">4</td>
312 <td class="permissions">-rw-r--r--</td>
312 <td class="permissions">-rw-r--r--</td>
313 </tr>
313 </tr>
314 </tbody>
314 </tbody>
315 </table>
315 </table>
316 </div>
316 </div>
317 </div>
317 </div>
318
318
319
319
320 </body>
320 </body>
321 </html>
321 </html>
322
322
323
323
324 stop and restart
324 stop and restart
325
325
326 $ killdaemons.py
326 $ killdaemons.py
327 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log
327 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log
328 $ cat hg.pid >> $DAEMON_PIDS
328 $ cat hg.pid >> $DAEMON_PIDS
329
329
330 Test the access/error files are opened in append mode
330 Test the access/error files are opened in append mode
331
331
332 $ $PYTHON -c "print len(open('access.log', 'rb').readlines()), 'log lines written'"
332 $ $PYTHON -c "print len(open('access.log', 'rb').readlines()), 'log lines written'"
333 14 log lines written
333 14 log lines written
334
334
335 static file
335 static file
336
336
337 $ get-with-headers.py --twice localhost:$HGPORT 'static/style-gitweb.css' - date etag server
337 $ get-with-headers.py --twice localhost:$HGPORT 'static/style-gitweb.css' - date etag server
338 200 Script output follows
338 200 Script output follows
339 content-length: 9059
339 content-length: 9059
340 content-type: text/css
340 content-type: text/css
341
341
342 body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; }
342 body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; }
343 a { color:#0000cc; }
343 a { color:#0000cc; }
344 a:hover, a:visited, a:active { color:#880000; }
344 a:hover, a:visited, a:active { color:#880000; }
345 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
345 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
346 div.page_header a:visited { color:#0000cc; }
346 div.page_header a:visited { color:#0000cc; }
347 div.page_header a:hover { color:#880000; }
347 div.page_header a:hover { color:#880000; }
348 div.page_nav {
348 div.page_nav {
349 padding:8px;
349 padding:8px;
350 display: flex;
350 display: flex;
351 justify-content: space-between;
351 justify-content: space-between;
352 align-items: center;
352 align-items: center;
353 }
353 }
354 div.page_nav a:visited { color:#0000cc; }
354 div.page_nav a:visited { color:#0000cc; }
355 div.extra_nav {
355 div.extra_nav {
356 padding: 8px;
356 padding: 8px;
357 }
357 }
358 div.extra_nav a:visited {
358 div.extra_nav a:visited {
359 color: #0000cc;
359 color: #0000cc;
360 }
360 }
361 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
361 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
362 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
362 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
363 div.page_footer_text { float:left; color:#555555; font-style:italic; }
363 div.page_footer_text { float:left; color:#555555; font-style:italic; }
364 div.page_body { padding:8px; }
364 div.page_body { padding:8px; }
365 div.title, a.title {
365 div.title, a.title {
366 display:block; padding:6px 8px;
366 display:block; padding:6px 8px;
367 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
367 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
368 }
368 }
369 a.title:hover { background-color: #d9d8d1; }
369 a.title:hover { background-color: #d9d8d1; }
370 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
370 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
371 div.log_body { padding:8px 8px 8px 150px; }
371 div.log_body { padding:8px 8px 8px 150px; }
372 .age { white-space:nowrap; }
372 .age { white-space:nowrap; }
373 a.title span.age { position:relative; float:left; width:142px; font-style:italic; }
373 a.title span.age { position:relative; float:left; width:142px; font-style:italic; }
374 div.log_link {
374 div.log_link {
375 padding:0px 8px;
375 padding:0px 8px;
376 font-size:10px; font-family:sans-serif; font-style:normal;
376 font-size:10px; font-family:sans-serif; font-style:normal;
377 position:relative; float:left; width:136px;
377 position:relative; float:left; width:136px;
378 }
378 }
379 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
379 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
380 a.list { text-decoration:none; color:#000000; }
380 a.list { text-decoration:none; color:#000000; }
381 a.list:hover { text-decoration:underline; color:#880000; }
381 a.list:hover { text-decoration:underline; color:#880000; }
382 table { padding:8px 4px; }
382 table { padding:8px 4px; }
383 th { padding:2px 5px; font-size:12px; text-align:left; }
383 th { padding:2px 5px; font-size:12px; text-align:left; }
384 .parity0 { background-color:#ffffff; }
384 .parity0 { background-color:#ffffff; }
385 tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+4) { background-color:#f6f6f0; }
385 tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+4) { background-color:#f6f6f0; }
386 tr.light:hover, .parity0:hover, tr.dark:hover, .parity1:hover,
386 tr.light:hover, .parity0:hover, tr.dark:hover, .parity1:hover,
387 pre.sourcelines.stripes > :nth-child(4n+2):hover,
387 pre.sourcelines.stripes > :nth-child(4n+2):hover,
388 pre.sourcelines.stripes > :nth-child(4n+4):hover,
388 pre.sourcelines.stripes > :nth-child(4n+4):hover,
389 pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2),
389 pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2),
390 pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color:#edece6; }
390 pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color:#edece6; }
391 td { padding:2px 5px; font-size:12px; vertical-align:top; }
391 td { padding:2px 5px; font-size:12px; vertical-align:top; }
392 td.closed { background-color: #99f; }
392 td.closed { background-color: #99f; }
393 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
393 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
394 td.indexlinks { white-space: nowrap; }
394 td.indexlinks { white-space: nowrap; }
395 td.indexlinks a {
395 td.indexlinks a {
396 padding: 2px 5px; line-height: 10px;
396 padding: 2px 5px; line-height: 10px;
397 border: 1px solid;
397 border: 1px solid;
398 color: #ffffff; background-color: #7777bb;
398 color: #ffffff; background-color: #7777bb;
399 border-color: #aaaadd #333366 #333366 #aaaadd;
399 border-color: #aaaadd #333366 #333366 #aaaadd;
400 font-weight: bold; text-align: center; text-decoration: none;
400 font-weight: bold; text-align: center; text-decoration: none;
401 font-size: 10px;
401 font-size: 10px;
402 }
402 }
403 td.indexlinks a:hover { background-color: #6666aa; }
403 td.indexlinks a:hover { background-color: #6666aa; }
404 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
404 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
405
405
406 .search {
406 .search {
407 margin-right: 8px;
407 margin-right: 8px;
408 }
408 }
409
409
410 div#hint {
410 div#hint {
411 position: absolute;
411 position: absolute;
412 display: none;
412 display: none;
413 width: 250px;
413 width: 250px;
414 padding: 5px;
414 padding: 5px;
415 background: #ffc;
415 background: #ffc;
416 border: 1px solid yellow;
416 border: 1px solid yellow;
417 border-radius: 5px;
417 border-radius: 5px;
418 }
418 }
419
419
420 #searchform:hover div#hint { display: block; }
420 #searchform:hover div#hint { display: block; }
421
421
422 tr.thisrev a { color:#999999; text-decoration: none; }
422 tr.thisrev a { color:#999999; text-decoration: none; }
423 tr.thisrev pre { color:#009900; }
423 tr.thisrev pre { color:#009900; }
424 td.annotate {
424 td.annotate {
425 white-space: nowrap;
425 white-space: nowrap;
426 }
426 }
427 div.annotate-info {
427 div.annotate-info {
428 z-index: 5;
428 z-index: 5;
429 display: none;
429 display: none;
430 position: absolute;
430 position: absolute;
431 background-color: #FFFFFF;
431 background-color: #FFFFFF;
432 border: 1px solid #d9d8d1;
432 border: 1px solid #d9d8d1;
433 text-align: left;
433 text-align: left;
434 color: #000000;
434 color: #000000;
435 padding: 5px;
435 padding: 5px;
436 }
436 }
437 div.annotate-info a { color: #0000FF; text-decoration: underline; }
437 div.annotate-info a { color: #0000FF; text-decoration: underline; }
438 td.annotate:hover div.annotate-info { display: inline; }
438 td.annotate:hover div.annotate-info { display: inline; }
439
439
440 #diffopts-form {
440 #diffopts-form {
441 padding-left: 8px;
441 padding-left: 8px;
442 display: none;
442 display: none;
443 }
443 }
444
444
445 .linenr { color:#999999; text-decoration:none }
445 .linenr { color:#999999; text-decoration:none }
446 div.rss_logo { float: right; white-space: nowrap; }
446 div.rss_logo { float: right; white-space: nowrap; }
447 div.rss_logo a {
447 div.rss_logo a {
448 padding:3px 6px; line-height:10px;
448 padding:3px 6px; line-height:10px;
449 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
449 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
450 color:#ffffff; background-color:#ff6600;
450 color:#ffffff; background-color:#ff6600;
451 font-weight:bold; font-family:sans-serif; font-size:10px;
451 font-weight:bold; font-family:sans-serif; font-size:10px;
452 text-align:center; text-decoration:none;
452 text-align:center; text-decoration:none;
453 }
453 }
454 div.rss_logo a:hover { background-color:#ee5500; }
454 div.rss_logo a:hover { background-color:#ee5500; }
455 pre { margin: 0; }
455 pre { margin: 0; }
456 span.logtags span {
456 span.logtags span {
457 padding: 0px 4px;
457 padding: 0px 4px;
458 font-size: 10px;
458 font-size: 10px;
459 font-weight: normal;
459 font-weight: normal;
460 border: 1px solid;
460 border: 1px solid;
461 background-color: #ffaaff;
461 background-color: #ffaaff;
462 border-color: #ffccff #ff00ee #ff00ee #ffccff;
462 border-color: #ffccff #ff00ee #ff00ee #ffccff;
463 }
463 }
464 span.logtags span.phasetag {
464 span.logtags span.phasetag {
465 background-color: #dfafff;
465 background-color: #dfafff;
466 border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff;
466 border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff;
467 }
467 }
468 span.logtags span.obsoletetag {
468 span.logtags span.obsoletetag {
469 background-color: #dddddd;
469 background-color: #dddddd;
470 border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4;
470 border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4;
471 }
471 }
472 span.logtags span.instabilitytag {
472 span.logtags span.instabilitytag {
473 background-color: #ffb1c0;
473 background-color: #ffb1c0;
474 border-color: #ffbbc8 #ff4476 #ff4476 #ffbbc8;
474 border-color: #ffbbc8 #ff4476 #ff4476 #ffbbc8;
475 }
475 }
476 span.logtags span.tagtag {
476 span.logtags span.tagtag {
477 background-color: #ffffaa;
477 background-color: #ffffaa;
478 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
478 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
479 }
479 }
480 span.logtags span.branchtag {
480 span.logtags span.branchtag {
481 background-color: #aaffaa;
481 background-color: #aaffaa;
482 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
482 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
483 }
483 }
484 span.logtags span.inbranchtag {
484 span.logtags span.inbranchtag {
485 background-color: #d5dde6;
485 background-color: #d5dde6;
486 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
486 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
487 }
487 }
488 span.logtags span.bookmarktag {
488 span.logtags span.bookmarktag {
489 background-color: #afdffa;
489 background-color: #afdffa;
490 border-color: #ccecff #46ace6 #46ace6 #ccecff;
490 border-color: #ccecff #46ace6 #46ace6 #ccecff;
491 }
491 }
492 span.difflineplus { color:#008800; }
492 span.difflineplus { color:#008800; }
493 span.difflineminus { color:#cc0000; }
493 span.difflineminus { color:#cc0000; }
494 span.difflineat { color:#990099; }
494 span.difflineat { color:#990099; }
495 div.diffblocks { counter-reset: lineno; }
495 div.diffblocks { counter-reset: lineno; }
496 div.diffblock { counter-increment: lineno; }
496 div.diffblock { counter-increment: lineno; }
497 pre.sourcelines { position: relative; counter-reset: lineno; }
497 pre.sourcelines { position: relative; counter-reset: lineno; }
498 pre.sourcelines > span {
498 pre.sourcelines > span {
499 display: inline-block;
499 display: inline-block;
500 box-sizing: border-box;
500 box-sizing: border-box;
501 width: 100%;
501 width: 100%;
502 padding: 0 0 0 5em;
502 padding: 0 0 0 5em;
503 counter-increment: lineno;
503 counter-increment: lineno;
504 vertical-align: top;
504 vertical-align: top;
505 }
505 }
506 pre.sourcelines > span:before {
506 pre.sourcelines > span:before {
507 -moz-user-select: -moz-none;
507 -moz-user-select: -moz-none;
508 -khtml-user-select: none;
508 -khtml-user-select: none;
509 -webkit-user-select: none;
509 -webkit-user-select: none;
510 -ms-user-select: none;
510 -ms-user-select: none;
511 user-select: none;
511 user-select: none;
512 display: inline-block;
512 display: inline-block;
513 margin-left: -6em;
513 margin-left: -6em;
514 width: 4em;
514 width: 4em;
515 color: #999;
515 color: #999;
516 text-align: right;
516 text-align: right;
517 content: counters(lineno,".");
517 content: counters(lineno,".");
518 float: left;
518 float: left;
519 }
519 }
520 pre.sourcelines > a {
520 pre.sourcelines > a {
521 display: inline-block;
521 display: inline-block;
522 position: absolute;
522 position: absolute;
523 left: 0px;
523 left: 0px;
524 width: 4em;
524 width: 4em;
525 height: 1em;
525 height: 1em;
526 }
526 }
527 tr:target td,
527 tr:target td,
528 pre.sourcelines > span:target,
528 pre.sourcelines > span:target,
529 pre.sourcelines.stripes > span:target {
529 pre.sourcelines.stripes > span:target {
530 background-color: #bfdfff;
530 background-color: #bfdfff;
531 }
531 }
532
532
533 .description {
533 .description {
534 font-family: monospace;
534 font-family: monospace;
535 white-space: pre;
535 white-space: pre;
536 }
536 }
537
537
538 /* Followlines */
538 /* Followlines */
539 tbody.sourcelines > tr.followlines-selected,
539 tbody.sourcelines > tr.followlines-selected,
540 pre.sourcelines > span.followlines-selected {
540 pre.sourcelines > span.followlines-selected {
541 background-color: #99C7E9 !important;
541 background-color: #99C7E9 !important;
542 }
542 }
543
543
544 div#followlines {
544 div#followlines {
545 background-color: #FFF;
545 background-color: #FFF;
546 border: 1px solid #d9d8d1;
546 border: 1px solid #d9d8d1;
547 padding: 5px;
547 padding: 5px;
548 position: fixed;
548 position: fixed;
549 }
549 }
550
550
551 div.followlines-cancel {
551 div.followlines-cancel {
552 text-align: right;
552 text-align: right;
553 }
553 }
554
554
555 div.followlines-cancel > button {
555 div.followlines-cancel > button {
556 line-height: 80%;
556 line-height: 80%;
557 padding: 0;
557 padding: 0;
558 border: 0;
558 border: 0;
559 border-radius: 2px;
559 border-radius: 2px;
560 background-color: inherit;
560 background-color: inherit;
561 font-weight: bold;
561 font-weight: bold;
562 }
562 }
563
563
564 div.followlines-cancel > button:hover {
564 div.followlines-cancel > button:hover {
565 color: #FFFFFF;
565 color: #FFFFFF;
566 background-color: #CF1F1F;
566 background-color: #CF1F1F;
567 }
567 }
568
568
569 div.followlines-link {
569 div.followlines-link {
570 margin: 2px;
570 margin: 2px;
571 margin-top: 4px;
571 margin-top: 4px;
572 font-family: sans-serif;
572 font-family: sans-serif;
573 }
573 }
574
574
575 .btn-followlines {
575 .btn-followlines {
576 position: absolute;
576 position: absolute;
577 display: none;
577 display: none;
578 cursor: pointer;
578 cursor: pointer;
579 box-sizing: content-box;
579 box-sizing: content-box;
580 font-size: 11px;
580 font-size: 11px;
581 width: 13px;
581 width: 13px;
582 height: 13px;
582 height: 13px;
583 border-radius: 3px;
583 border-radius: 3px;
584 margin: 0px;
584 margin: 0px;
585 margin-top: -2px;
585 margin-top: -2px;
586 padding: 0px;
586 padding: 0px;
587 background-color: #E5FDE5;
587 background-color: #E5FDE5;
588 border: 1px solid #9BC19B;
588 border: 1px solid #9BC19B;
589 font-family: monospace;
589 font-family: monospace;
590 text-align: center;
590 text-align: center;
591 line-height: 5px;
591 line-height: 5px;
592 }
592 }
593
593
594 span.followlines-select .btn-followlines {
594 span.followlines-select .btn-followlines {
595 margin-left: -1.6em;
595 margin-left: -1.6em;
596 }
596 }
597
597
598 .btn-followlines:hover {
598 .btn-followlines:hover {
599 transform: scale(1.1, 1.1);
599 transform: scale(1.1, 1.1);
600 }
600 }
601
601
602 .btn-followlines .followlines-plus {
602 .btn-followlines .followlines-plus {
603 color: green;
603 color: green;
604 }
604 }
605
605
606 .btn-followlines .followlines-minus {
606 .btn-followlines .followlines-minus {
607 color: red;
607 color: red;
608 }
608 }
609
609
610 .btn-followlines-end {
610 .btn-followlines-end {
611 background-color: #ffdcdc;
611 background-color: #ffdcdc;
612 }
612 }
613
613
614 .sourcelines tr:hover .btn-followlines,
614 .sourcelines tr:hover .btn-followlines,
615 .sourcelines span.followlines-select:hover > .btn-followlines {
615 .sourcelines span.followlines-select:hover > .btn-followlines {
616 display: inline;
616 display: inline;
617 }
617 }
618
618
619 .btn-followlines-hidden,
619 .btn-followlines-hidden,
620 .sourcelines tr:hover .btn-followlines-hidden {
620 .sourcelines tr:hover .btn-followlines-hidden {
621 display: none;
621 display: none;
622 }
622 }
623
623
624 /* Graph */
624 /* Graph */
625 div#wrapper {
625 div#wrapper {
626 position: relative;
626 position: relative;
627 margin: 0;
627 margin: 0;
628 padding: 0;
628 padding: 0;
629 margin-top: 3px;
629 margin-top: 3px;
630 }
630 }
631
631
632 canvas {
632 canvas {
633 position: absolute;
633 position: absolute;
634 z-index: 5;
634 z-index: 5;
635 top: -0.9em;
635 top: -0.9em;
636 margin: 0;
636 margin: 0;
637 }
637 }
638
638
639 ul#graphnodes {
639 ul#graphnodes {
640 list-style: none inside none;
640 list-style: none inside none;
641 padding: 0;
641 padding: 0;
642 margin: 0;
642 margin: 0;
643 }
643 }
644
644
645 ul#graphnodes li {
645 ul#graphnodes li {
646 position: relative;
646 position: relative;
647 height: 37px;
647 height: 37px;
648 overflow: visible;
648 overflow: visible;
649 padding-top: 2px;
649 padding-top: 2px;
650 }
650 }
651
651
652 ul#graphnodes li .fg {
652 ul#graphnodes li .fg {
653 position: absolute;
653 position: absolute;
654 z-index: 10;
654 z-index: 10;
655 }
655 }
656
656
657 ul#graphnodes li .info {
657 ul#graphnodes li .info {
658 font-size: 100%;
658 font-size: 100%;
659 font-style: italic;
659 font-style: italic;
660 }
660 }
661
661
662 /* Comparison */
662 /* Comparison */
663 .legend {
663 .legend {
664 padding: 1.5% 0 1.5% 0;
664 padding: 1.5% 0 1.5% 0;
665 }
665 }
666
666
667 .legendinfo {
667 .legendinfo {
668 border: 1px solid #d9d8d1;
668 border: 1px solid #d9d8d1;
669 font-size: 80%;
669 font-size: 80%;
670 text-align: center;
670 text-align: center;
671 padding: 0.5%;
671 padding: 0.5%;
672 }
672 }
673
673
674 .equal {
674 .equal {
675 background-color: #ffffff;
675 background-color: #ffffff;
676 }
676 }
677
677
678 .delete {
678 .delete {
679 background-color: #faa;
679 background-color: #faa;
680 color: #333;
680 color: #333;
681 }
681 }
682
682
683 .insert {
683 .insert {
684 background-color: #ffa;
684 background-color: #ffa;
685 }
685 }
686
686
687 .replace {
687 .replace {
688 background-color: #e8e8e8;
688 background-color: #e8e8e8;
689 }
689 }
690
690
691 .comparison {
691 .comparison {
692 overflow-x: auto;
692 overflow-x: auto;
693 }
693 }
694
694
695 .header th {
695 .header th {
696 text-align: center;
696 text-align: center;
697 }
697 }
698
698
699 .block {
699 .block {
700 border-top: 1px solid #d9d8d1;
700 border-top: 1px solid #d9d8d1;
701 }
701 }
702
702
703 .scroll-loading {
703 .scroll-loading {
704 -webkit-animation: change_color 1s linear 0s infinite alternate;
704 -webkit-animation: change_color 1s linear 0s infinite alternate;
705 -moz-animation: change_color 1s linear 0s infinite alternate;
705 -moz-animation: change_color 1s linear 0s infinite alternate;
706 -o-animation: change_color 1s linear 0s infinite alternate;
706 -o-animation: change_color 1s linear 0s infinite alternate;
707 animation: change_color 1s linear 0s infinite alternate;
707 animation: change_color 1s linear 0s infinite alternate;
708 }
708 }
709
709
710 @-webkit-keyframes change_color {
710 @-webkit-keyframes change_color {
711 from { background-color: #A0CEFF; } to { }
711 from { background-color: #A0CEFF; } to { }
712 }
712 }
713 @-moz-keyframes change_color {
713 @-moz-keyframes change_color {
714 from { background-color: #A0CEFF; } to { }
714 from { background-color: #A0CEFF; } to { }
715 }
715 }
716 @-o-keyframes change_color {
716 @-o-keyframes change_color {
717 from { background-color: #A0CEFF; } to { }
717 from { background-color: #A0CEFF; } to { }
718 }
718 }
719 @keyframes change_color {
719 @keyframes change_color {
720 from { background-color: #A0CEFF; } to { }
720 from { background-color: #A0CEFF; } to { }
721 }
721 }
722
722
723 .scroll-loading-error {
723 .scroll-loading-error {
724 background-color: #FFCCCC !important;
724 background-color: #FFCCCC !important;
725 }
725 }
726
726
727 #doc {
727 #doc {
728 margin: 0 8px;
728 margin: 0 8px;
729 }
729 }
730 304 Not Modified
730 304 Not Modified
731
731
732
732
733 phase changes are refreshed (issue4061)
733 phase changes are refreshed (issue4061)
734
734
735 $ echo bar >> foo
735 $ echo bar >> foo
736 $ hg ci -msecret --secret
736 $ hg ci -msecret --secret
737 $ get-with-headers.py localhost:$HGPORT 'log?style=raw'
737 $ get-with-headers.py localhost:$HGPORT 'log?style=raw'
738 200 Script output follows
738 200 Script output follows
739
739
740
740
741 # HG changelog
741 # HG changelog
742 # Node ID 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
742 # Node ID 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
743
743
744 changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
744 changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
745 revision: 0
745 revision: 0
746 user: test
746 user: test
747 date: Thu, 01 Jan 1970 00:00:00 +0000
747 date: Thu, 01 Jan 1970 00:00:00 +0000
748 summary: base
748 summary: base
749 branch: default
749 branch: default
750 tag: tip
750 tag: tip
751 bookmark: @
751 bookmark: @
752 bookmark: a b c
752 bookmark: a b c
753 bookmark: d/e/f
753 bookmark: d/e/f
754
754
755
755
756 $ hg phase --draft tip
756 $ hg phase --draft tip
757 $ get-with-headers.py localhost:$HGPORT 'log?style=raw'
757 $ get-with-headers.py localhost:$HGPORT 'log?style=raw'
758 200 Script output follows
758 200 Script output follows
759
759
760
760
761 # HG changelog
761 # HG changelog
762 # Node ID a084749e708a9c4c0a5b652a2a446322ce290e04
762 # Node ID a084749e708a9c4c0a5b652a2a446322ce290e04
763
763
764 changeset: a084749e708a9c4c0a5b652a2a446322ce290e04
764 changeset: a084749e708a9c4c0a5b652a2a446322ce290e04
765 revision: 1
765 revision: 1
766 user: test
766 user: test
767 date: Thu, 01 Jan 1970 00:00:00 +0000
767 date: Thu, 01 Jan 1970 00:00:00 +0000
768 summary: secret
768 summary: secret
769 branch: default
769 branch: default
770 tag: tip
770 tag: tip
771
771
772 changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
772 changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
773 revision: 0
773 revision: 0
774 user: test
774 user: test
775 date: Thu, 01 Jan 1970 00:00:00 +0000
775 date: Thu, 01 Jan 1970 00:00:00 +0000
776 summary: base
776 summary: base
777 bookmark: @
777 bookmark: @
778 bookmark: a b c
778 bookmark: a b c
779 bookmark: d/e/f
779 bookmark: d/e/f
780
780
781
781
782
782
783 access bookmarks
783 access bookmarks
784
784
785 $ get-with-headers.py localhost:$HGPORT 'rev/@?style=paper' | egrep '^200|changeset 0:'
785 $ get-with-headers.py localhost:$HGPORT 'rev/@?style=paper' | egrep '^200|changeset 0:'
786 200 Script output follows
786 200 Script output follows
787 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
787 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
788
788
789 $ get-with-headers.py localhost:$HGPORT 'rev/%40?style=paper' | egrep '^200|changeset 0:'
789 $ get-with-headers.py localhost:$HGPORT 'rev/%40?style=paper' | egrep '^200|changeset 0:'
790 200 Script output follows
790 200 Script output follows
791 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
791 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
792
792
793 $ get-with-headers.py localhost:$HGPORT 'rev/a%20b%20c?style=paper' | egrep '^200|changeset 0:'
793 $ get-with-headers.py localhost:$HGPORT 'rev/a%20b%20c?style=paper' | egrep '^200|changeset 0:'
794 200 Script output follows
794 200 Script output follows
795 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
795 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
796
796
797 $ get-with-headers.py localhost:$HGPORT 'rev/d%252Fe%252Ff?style=paper' | egrep '^200|changeset 0:'
797 $ get-with-headers.py localhost:$HGPORT 'rev/d%252Fe%252Ff?style=paper' | egrep '^200|changeset 0:'
798 200 Script output follows
798 200 Script output follows
799 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
799 changeset 0:<a href="/rev/2ef0ac749a14?style=paper">2ef0ac749a14</a>
800
800
801 no '[up]' entry in file view when in root directory
801 no '[up]' entry in file view when in root directory
802
802
803 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=paper' | grep -F '[up]'
803 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=paper' | grep -F '[up]'
804 [1]
804 [1]
805 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=paper' | grep -F '[up]'
805 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=paper' | grep -F '[up]'
806 <a href="/file/tip/?style=paper">[up]</a>
806 <a href="/file/tip/?style=paper">[up]</a>
807 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=coal' | grep -F '[up]'
807 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=coal' | grep -F '[up]'
808 [1]
808 [1]
809 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=coal' | grep -F '[up]'
809 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=coal' | grep -F '[up]'
810 <a href="/file/tip/?style=coal">[up]</a>
810 <a href="/file/tip/?style=coal">[up]</a>
811 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=gitweb' | grep -F '[up]'
811 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=gitweb' | grep -F '[up]'
812 [1]
812 [1]
813 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=gitweb' | grep -F '[up]'
813 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=gitweb' | grep -F '[up]'
814 <a href="/file/tip/?style=gitweb">[up]</a>
814 <a href="/file/tip/?style=gitweb">[up]</a>
815 $ get-with-headers.py localhost:$HGPORT 'file/tip?style=monoblue' | grep -F '[up]'
816 [1]
817 $ get-with-headers.py localhost:$HGPORT 'file/tip/da?style=monoblue' | grep -F '[up]'
818 <a href="/file/tip/?style=monoblue">[up]</a>
815
819
816 no style can be loaded from directories other than the specified paths
820 no style can be loaded from directories other than the specified paths
817
821
818 $ mkdir -p x/templates/fallback
822 $ mkdir -p x/templates/fallback
819 $ cat <<EOF > x/templates/fallback/map
823 $ cat <<EOF > x/templates/fallback/map
820 > default = 'shortlog'
824 > default = 'shortlog'
821 > shortlog = 'fall back to default\n'
825 > shortlog = 'fall back to default\n'
822 > mimetype = 'text/plain'
826 > mimetype = 'text/plain'
823 > EOF
827 > EOF
824 $ cat <<EOF > x/map
828 $ cat <<EOF > x/map
825 > default = 'shortlog'
829 > default = 'shortlog'
826 > shortlog = 'access to outside of templates directory\n'
830 > shortlog = 'access to outside of templates directory\n'
827 > mimetype = 'text/plain'
831 > mimetype = 'text/plain'
828 > EOF
832 > EOF
829
833
830 $ killdaemons.py
834 $ killdaemons.py
831 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log \
835 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log \
832 > --config web.style=fallback --config web.templates=x/templates
836 > --config web.style=fallback --config web.templates=x/templates
833 $ cat hg.pid >> $DAEMON_PIDS
837 $ cat hg.pid >> $DAEMON_PIDS
834
838
835 $ get-with-headers.py localhost:$HGPORT "?style=`pwd`/x"
839 $ get-with-headers.py localhost:$HGPORT "?style=`pwd`/x"
836 200 Script output follows
840 200 Script output follows
837
841
838 fall back to default
842 fall back to default
839
843
840 $ get-with-headers.py localhost:$HGPORT '?style=..'
844 $ get-with-headers.py localhost:$HGPORT '?style=..'
841 200 Script output follows
845 200 Script output follows
842
846
843 fall back to default
847 fall back to default
844
848
845 $ get-with-headers.py localhost:$HGPORT '?style=./..'
849 $ get-with-headers.py localhost:$HGPORT '?style=./..'
846 200 Script output follows
850 200 Script output follows
847
851
848 fall back to default
852 fall back to default
849
853
850 $ get-with-headers.py localhost:$HGPORT '?style=.../.../'
854 $ get-with-headers.py localhost:$HGPORT '?style=.../.../'
851 200 Script output follows
855 200 Script output follows
852
856
853 fall back to default
857 fall back to default
854
858
855 errors
859 errors
856
860
857 $ cat errors.log
861 $ cat errors.log
858
862
859 Uncaught exceptions result in a logged error and canned HTTP response
863 Uncaught exceptions result in a logged error and canned HTTP response
860
864
861 $ killdaemons.py
865 $ killdaemons.py
862 $ hg serve --config extensions.hgweberror=$TESTDIR/hgweberror.py -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
866 $ hg serve --config extensions.hgweberror=$TESTDIR/hgweberror.py -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
863 $ cat hg.pid >> $DAEMON_PIDS
867 $ cat hg.pid >> $DAEMON_PIDS
864
868
865 $ get-with-headers.py localhost:$HGPORT 'raiseerror' transfer-encoding content-type
869 $ get-with-headers.py localhost:$HGPORT 'raiseerror' transfer-encoding content-type
866 500 Internal Server Error
870 500 Internal Server Error
867 transfer-encoding: chunked
871 transfer-encoding: chunked
868
872
869 Internal Server Error (no-eol)
873 Internal Server Error (no-eol)
870 [1]
874 [1]
871
875
872 $ killdaemons.py
876 $ killdaemons.py
873 $ head -1 errors.log
877 $ head -1 errors.log
874 .* Exception happened during processing request '/raiseerror': (re)
878 .* Exception happened during processing request '/raiseerror': (re)
875
879
876 Uncaught exception after partial content sent
880 Uncaught exception after partial content sent
877
881
878 $ hg serve --config extensions.hgweberror=$TESTDIR/hgweberror.py -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
882 $ hg serve --config extensions.hgweberror=$TESTDIR/hgweberror.py -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
879 $ cat hg.pid >> $DAEMON_PIDS
883 $ cat hg.pid >> $DAEMON_PIDS
880 $ get-with-headers.py localhost:$HGPORT 'raiseerror?partialresponse=1' transfer-encoding content-type
884 $ get-with-headers.py localhost:$HGPORT 'raiseerror?partialresponse=1' transfer-encoding content-type
881 200 Script output follows
885 200 Script output follows
882 transfer-encoding: chunked
886 transfer-encoding: chunked
883 content-type: text/plain
887 content-type: text/plain
884
888
885 partial content
889 partial content
886 Internal Server Error (no-eol)
890 Internal Server Error (no-eol)
887
891
888 $ killdaemons.py
892 $ killdaemons.py
889
893
890 HTTP 304 works with hgwebdir (issue5844)
894 HTTP 304 works with hgwebdir (issue5844)
891
895
892 $ cat > hgweb.conf << EOF
896 $ cat > hgweb.conf << EOF
893 > [paths]
897 > [paths]
894 > /repo = $TESTTMP/test
898 > /repo = $TESTTMP/test
895 > EOF
899 > EOF
896
900
897 $ hg serve --web-conf hgweb.conf -p $HGPORT -d --pid-file hg.pid -E error.log
901 $ hg serve --web-conf hgweb.conf -p $HGPORT -d --pid-file hg.pid -E error.log
898 $ cat hg.pid >> $DAEMON_PIDS
902 $ cat hg.pid >> $DAEMON_PIDS
899
903
900 $ get-with-headers.py --twice --headeronly localhost:$HGPORT 'repo/static/style.css' - date etag server
904 $ get-with-headers.py --twice --headeronly localhost:$HGPORT 'repo/static/style.css' - date etag server
901 200 Script output follows
905 200 Script output follows
902 content-length: 2677
906 content-length: 2677
903 content-type: text/css
907 content-type: text/css
904 304 Not Modified
908 304 Not Modified
905
909
906 $ killdaemons.py
910 $ killdaemons.py
907
911
908 $ cd ..
912 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now