Mercurial > hg
annotate tests/test-hgweb.t @ 23923:ab6fd3205dad stable
largefiles: fix commit of a directory with no largefile changes (issue4330)
When a directory is named in the commit file list, the previous behavior was to
walk the list, and if no normal files in the directory were also named, add the
corresponding standin for each largefile in that directory. The directory is
then dropped from the list, so that committing a directory with no normal file
changes works. It then added the corresponding standin directory for the first
largefile seen, by prefixing it with '.hglf/'.
The latter is unnecessary since each affected largefile is explicitly referenced
by its standin in the list. It also caused an abort if there were no changed
largefiles in the directory, because none of its standins changed:
abort: .hglf/foo/bar: no match under directory!
This list of files is used to tweak a matcher in lfutil.updatestandinsbymatch(),
which is what is passed to commit().
The status() call that is ultimately done in the commit code with this matcher
seems to have some OS specific differences. It is not necessary to append '.'
for Windows to run the largefiles tests cleanly. But if '.' is not added to the
list, the match function isn't called on Linux, so status() would miss any
normal files that were also in a named directory. The commit then proceeds
without those normal files, or says "nothing changed" if there were no changed
largefiles in the directory. This is not filesystem specific, as VFAT on Linux
had the same behavior as when run on ext4. It is also not an issue with
lfilesrepo.status(), since that only calls the overridden implementation when
paths are passed to commit. I dont have access to an OS X machine ATM to test
there.
Maybe there's a better way to do this. But since the standin directory for the
first largefile was previously being added, and that caused the same walk in
status(), there's no preformance change to this. There is no danger of
erroneously committing files in '.', because the original match function is
called, and if it fails, the lfutil.updatestandinsbymatch() tweaked matcher only
indicates a match if the file is in the list of standins- and '.' never is. The
added tests confirm this.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 18 Jan 2015 15:15:40 -0500 |
parents | d1933c2e3c8c |
children | ea61e278ae92 |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
20256
diff
changeset
|
1 #require serve |
15446
c5c9ca3719f9
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents:
14046
diff
changeset
|
2 |
12432 | 3 Some tests for hgweb. Tests static files, plain files and different 404's. |
4 | |
5 $ hg init test | |
6 $ cd test | |
7 $ mkdir da | |
8 $ echo foo > da/foo | |
9 $ echo foo > foo | |
10 $ hg ci -Ambase | |
11 adding da/foo | |
12 adding foo | |
13 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log | |
14 $ cat hg.pid >> $DAEMON_PIDS | |
15 | |
16 manifest | |
3942 | 17 |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
18 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=raw') |
12432 | 19 200 Script output follows |
20 | |
21 | |
22 drwxr-xr-x da | |
23 -rw-r--r-- 4 foo | |
24 | |
25 | |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
26 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/da?style=raw') |
12432 | 27 200 Script output follows |
28 | |
29 | |
30 -rw-r--r-- 4 foo | |
31 | |
32 | |
33 | |
34 plain file | |
35 | |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
36 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?style=raw' |
12432 | 37 200 Script output follows |
38 | |
39 foo | |
40 | |
41 should give a 404 - static file that does not exist | |
9842
d3dbdca92458
hgweb: don't choke when an inexistent style is requested (issue1901)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8167
diff
changeset
|
42 |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
43 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'static/bogus' |
12432 | 44 404 Not Found |
45 | |
46 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
47 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> | |
48 <head> | |
49 <link rel="icon" href="/static/hgicon.png" type="image/png" /> | |
50 <meta name="robots" content="index, nofollow" /> | |
51 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" /> | |
14046
b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
Benoit Allard <benoit@aeteurope.nl>
parents:
13863
diff
changeset
|
52 <script type="text/javascript" src="/static/mercurial.js"></script> |
12432 | 53 |
54 <title>test: error</title> | |
55 </head> | |
56 <body> | |
57 | |
58 <div class="container"> | |
59 <div class="menu"> | |
60 <div class="logo"> | |
61 <a href="http://mercurial.selenic.com/"> | |
62 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
63 </div> | |
64 <ul> | |
65 <li><a href="/shortlog">log</a></li> | |
66 <li><a href="/graph">graph</a></li> | |
67 <li><a href="/tags">tags</a></li> | |
13597
38c9837b1f75
hgweb: add separate page with bookmarks listing
Alexander Solovyov <alexander@solovyov.net>
parents:
12846
diff
changeset
|
68 <li><a href="/bookmarks">bookmarks</a></li> |
12432 | 69 <li><a href="/branches">branches</a></li> |
17290
7a9246abf9fe
hgweb: make paper:error consistent with template
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
17243
diff
changeset
|
70 </ul> |
7a9246abf9fe
hgweb: make paper:error consistent with template
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
17243
diff
changeset
|
71 <ul> |
12680
d664547ef540
hgweb: add help link to templates missed in ead4e21f49f1
Augie Fackler <durin42@gmail.com>
parents:
12666
diff
changeset
|
72 <li><a href="/help">help</a></li> |
12432 | 73 </ul> |
74 </div> | |
75 | |
76 <div class="main"> | |
77 | |
18264
d6ebdbdd70a5
tests: update hgweb tests to include breadcrumbs
Bryan O'Sullivan <bryano@fb.com>
parents:
17466
diff
changeset
|
78 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> |
12432 | 79 <h3>error</h3> |
80 | |
81 <form class="search" action="/log"> | |
82 | |
83 <p><input name="rev" id="search1" type="text" size="30"></p> | |
19796
544848ef65f2
paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in>
parents:
19795
diff
changeset
|
84 <div id="hint">Find changesets by keywords (author, files, the commit message), revision |
544848ef65f2
paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in>
parents:
19795
diff
changeset
|
85 number or hash, or <a href="/help/revsets">revset expression</a>.</div> |
12432 | 86 </form> |
87 | |
88 <div class="description"> | |
89 <p> | |
90 An error occurred while processing your request: | |
91 </p> | |
92 <p> | |
93 Not Found | |
94 </p> | |
95 </div> | |
96 </div> | |
97 </div> | |
98 | |
14046
b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
Benoit Allard <benoit@aeteurope.nl>
parents:
13863
diff
changeset
|
99 <script type="text/javascript">process_dates()</script> |
12432 | 100 |
101 | |
102 </body> | |
103 </html> | |
104 | |
105 [1] | |
106 | |
107 should give a 404 - bad revision | |
108 | |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
109 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/spam/foo?style=raw' |
12432 | 110 404 Not Found |
111 | |
112 | |
113 error: revision not found: spam | |
114 [1] | |
115 | |
116 should give a 400 - bad command | |
9842
d3dbdca92458
hgweb: don't choke when an inexistent style is requested (issue1901)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8167
diff
changeset
|
117 |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
118 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/foo?cmd=spam&style=raw' |
12432 | 119 400* (glob) |
120 | |
121 | |
122 error: no such method: spam | |
123 [1] | |
124 | |
22506
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
125 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT '?cmd=spam' |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
126 400 no such method: spam |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
127 [1] |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
128 |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
129 should give a 400 - bad command as a part of url path (issue4071) |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
130 |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
131 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'spam' |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
132 400 no such method: spam |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
133 [1] |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
134 |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
135 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'raw-spam' |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
136 400 no such method: spam |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
137 [1] |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
138 |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
139 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'spam/tip/foo' |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
140 400 no such method: spam |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
141 [1] |
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
142 |
12432 | 143 should give a 404 - file does not exist |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
144 |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
145 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork?style=raw' |
12432 | 146 404 Not Found |
147 | |
148 | |
149 error: bork@2ef0ac749a14: not found in manifest | |
150 [1] | |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
151 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/bork' |
12432 | 152 404 Not Found |
153 | |
154 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
155 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> | |
156 <head> | |
157 <link rel="icon" href="/static/hgicon.png" type="image/png" /> | |
158 <meta name="robots" content="index, nofollow" /> | |
159 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" /> | |
14046
b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
Benoit Allard <benoit@aeteurope.nl>
parents:
13863
diff
changeset
|
160 <script type="text/javascript" src="/static/mercurial.js"></script> |
12432 | 161 |
162 <title>test: error</title> | |
163 </head> | |
164 <body> | |
165 | |
166 <div class="container"> | |
167 <div class="menu"> | |
168 <div class="logo"> | |
169 <a href="http://mercurial.selenic.com/"> | |
170 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> | |
171 </div> | |
172 <ul> | |
173 <li><a href="/shortlog">log</a></li> | |
174 <li><a href="/graph">graph</a></li> | |
175 <li><a href="/tags">tags</a></li> | |
13597
38c9837b1f75
hgweb: add separate page with bookmarks listing
Alexander Solovyov <alexander@solovyov.net>
parents:
12846
diff
changeset
|
176 <li><a href="/bookmarks">bookmarks</a></li> |
12432 | 177 <li><a href="/branches">branches</a></li> |
17290
7a9246abf9fe
hgweb: make paper:error consistent with template
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
17243
diff
changeset
|
178 </ul> |
7a9246abf9fe
hgweb: make paper:error consistent with template
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
17243
diff
changeset
|
179 <ul> |
12680
d664547ef540
hgweb: add help link to templates missed in ead4e21f49f1
Augie Fackler <durin42@gmail.com>
parents:
12666
diff
changeset
|
180 <li><a href="/help">help</a></li> |
12432 | 181 </ul> |
182 </div> | |
183 | |
184 <div class="main"> | |
185 | |
18264
d6ebdbdd70a5
tests: update hgweb tests to include breadcrumbs
Bryan O'Sullivan <bryano@fb.com>
parents:
17466
diff
changeset
|
186 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> |
12432 | 187 <h3>error</h3> |
188 | |
189 <form class="search" action="/log"> | |
190 | |
191 <p><input name="rev" id="search1" type="text" size="30"></p> | |
19796
544848ef65f2
paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in>
parents:
19795
diff
changeset
|
192 <div id="hint">Find changesets by keywords (author, files, the commit message), revision |
544848ef65f2
paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in>
parents:
19795
diff
changeset
|
193 number or hash, or <a href="/help/revsets">revset expression</a>.</div> |
12432 | 194 </form> |
195 | |
196 <div class="description"> | |
197 <p> | |
198 An error occurred while processing your request: | |
199 </p> | |
200 <p> | |
201 bork@2ef0ac749a14: not found in manifest | |
202 </p> | |
203 </div> | |
204 </div> | |
205 </div> | |
206 | |
14046
b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
Benoit Allard <benoit@aeteurope.nl>
parents:
13863
diff
changeset
|
207 <script type="text/javascript">process_dates()</script> |
12432 | 208 |
209 | |
210 </body> | |
211 </html> | |
212 | |
213 [1] | |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
214 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/bork?style=raw' |
12432 | 215 404 Not Found |
216 | |
217 | |
218 error: bork@2ef0ac749a14: not found in manifest | |
219 [1] | |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
220 |
12432 | 221 try bad style |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
222 |
17017
953faba28e91
tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
223 $ ("$TESTDIR/get-with-headers.py" localhost:$HGPORT 'file/tip/?style=foobar') |
12432 | 224 200 Script output follows |
225 | |
226 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
227 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> | |
228 <head> | |
229 <link rel="icon" href="/static/hgicon.png" type="image/png" /> | |
230 <meta name="robots" content="index, nofollow" /> | |
231 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" /> | |
14046
b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
Benoit Allard <benoit@aeteurope.nl>
parents:
13863
diff
changeset
|
232 <script type="text/javascript" src="/static/mercurial.js"></script> |
12432 | 233 |
234 <title>test: 2ef0ac749a14 /</title> | |
235 </head> | |
236 <body> | |
237 | |
238 <div class="container"> | |
239 <div class="menu"> | |
240 <div class="logo"> | |
241 <a href="http://mercurial.selenic.com/"> | |
242 <img src="/static/hglogo.png" alt="mercurial" /></a> | |
243 </div> | |
244 <ul> | |
245 <li><a href="/shortlog/2ef0ac749a14">log</a></li> | |
246 <li><a href="/graph/2ef0ac749a14">graph</a></li> | |
247 <li><a href="/tags">tags</a></li> | |
13597
38c9837b1f75
hgweb: add separate page with bookmarks listing
Alexander Solovyov <alexander@solovyov.net>
parents:
12846
diff
changeset
|
248 <li><a href="/bookmarks">bookmarks</a></li> |
12432 | 249 <li><a href="/branches">branches</a></li> |
250 </ul> | |
251 <ul> | |
252 <li><a href="/rev/2ef0ac749a14">changeset</a></li> | |
253 <li class="active">browse</li> | |
254 </ul> | |
255 <ul> | |
256 | |
257 </ul> | |
12666
ead4e21f49f1
web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents:
12432
diff
changeset
|
258 <ul> |
ead4e21f49f1
web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents:
12432
diff
changeset
|
259 <li><a href="/help">help</a></li> |
ead4e21f49f1
web: add a help view for getting hg help output
Augie Fackler <durin42@gmail.com>
parents:
12432
diff
changeset
|
260 </ul> |
12432 | 261 </div> |
262 | |
263 <div class="main"> | |
18264
d6ebdbdd70a5
tests: update hgweb tests to include breadcrumbs
Bryan O'Sullivan <bryano@fb.com>
parents:
17466
diff
changeset
|
264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> |
12432 | 265 <h3>directory / @ 0:2ef0ac749a14 <span class="tag">tip</span> </h3> |
266 | |
267 <form class="search" action="/log"> | |
268 | |
269 <p><input name="rev" id="search1" type="text" size="30" /></p> | |
19796
544848ef65f2
paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in>
parents:
19795
diff
changeset
|
270 <div id="hint">Find changesets by keywords (author, files, the commit message), revision |
544848ef65f2
paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in>
parents:
19795
diff
changeset
|
271 number or hash, or <a href="/help/revsets">revset expression</a>.</div> |
12432 | 272 </form> |
273 | |
274 <table class="bigtable"> | |
275 <tr> | |
276 <th class="name">name</th> | |
277 <th class="size">size</th> | |
278 <th class="permissions">permissions</th> | |
279 </tr> | |
19447
182942b38d24
hgweb: make stripes in directory view with CSS
Alexander Plavin <me@aplavin.ru>
parents:
19076
diff
changeset
|
280 <tbody class="stripes2"> |
182942b38d24
hgweb: make stripes in directory view with CSS
Alexander Plavin <me@aplavin.ru>
parents:
19076
diff
changeset
|
281 <tr class="fileline"> |
12432 | 282 <td class="name"><a href="/file/2ef0ac749a14/">[up]</a></td> |
283 <td class="size"></td> | |
284 <td class="permissions">drwxr-xr-x</td> | |
285 </tr> | |
286 | |
19447
182942b38d24
hgweb: make stripes in directory view with CSS
Alexander Plavin <me@aplavin.ru>
parents:
19076
diff
changeset
|
287 <tr class="fileline"> |
12432 | 288 <td class="name"> |
289 <a href="/file/2ef0ac749a14/da"> | |
290 <img src="/static/coal-folder.png" alt="dir."/> da/ | |
291 </a> | |
292 <a href="/file/2ef0ac749a14/da/"> | |
293 | |
294 </a> | |
295 </td> | |
296 <td class="size"></td> | |
297 <td class="permissions">drwxr-xr-x</td> | |
298 </tr> | |
299 | |
19447
182942b38d24
hgweb: make stripes in directory view with CSS
Alexander Plavin <me@aplavin.ru>
parents:
19076
diff
changeset
|
300 <tr class="fileline"> |
12432 | 301 <td class="filename"> |
302 <a href="/file/2ef0ac749a14/foo"> | |
303 <img src="/static/coal-file.png" alt="file"/> foo | |
304 </a> | |
305 </td> | |
306 <td class="size">4</td> | |
307 <td class="permissions">-rw-r--r--</td> | |
308 </tr> | |
19447
182942b38d24
hgweb: make stripes in directory view with CSS
Alexander Plavin <me@aplavin.ru>
parents:
19076
diff
changeset
|
309 </tbody> |
12432 | 310 </table> |
311 </div> | |
312 </div> | |
14046
b24e5a708fad
web: Made elapsed time calculation dynamic (javascript).
Benoit Allard <benoit@aeteurope.nl>
parents:
13863
diff
changeset
|
313 <script type="text/javascript">process_dates()</script> |
12432 | 314 |
315 | |
316 </body> | |
317 </html> | |
318 | |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
319 |
12432 | 320 stop and restart |
321 | |
17466
d5a3bda6e170
killdaemons: take file argument explicitely
Patrick Mezard <patrick@mezard.eu>
parents:
17290
diff
changeset
|
322 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS |
12432 | 323 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log |
324 $ cat hg.pid >> $DAEMON_PIDS | |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
325 |
12432 | 326 Test the access/error files are opened in append mode |
327 | |
22947
c63a09b6b337
tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents:
22578
diff
changeset
|
328 $ $PYTHON -c "print len(file('access.log').readlines()), 'log lines written'" |
22506
6e1fbcb18a75
hgweb: fail if an invalid command was supplied in url path (issue4071)
Anton Shestakov <engored@ya.ru>
parents:
20256
diff
changeset
|
329 14 log lines written |
12432 | 330 |
331 static file | |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
332 |
18380
a4d7fd7ad1f7
serve: don't send any content headers with 304 responses
Mads Kiilerich <madski@unity3d.com>
parents:
18264
diff
changeset
|
333 $ "$TESTDIR/get-with-headers.py" --twice localhost:$HGPORT 'static/style-gitweb.css' - date etag server |
12432 | 334 200 Script output follows |
23744
d1933c2e3c8c
templates: use CSS classes for diff styling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23409
diff
changeset
|
335 content-length: 5372 |
18380
a4d7fd7ad1f7
serve: don't send any content headers with 304 responses
Mads Kiilerich <madski@unity3d.com>
parents:
18264
diff
changeset
|
336 content-type: text/css |
12432 | 337 |
19076
93493746c89a
css: remove repeated property
Alexander Plavin <me@aplavin.ru>
parents:
18380
diff
changeset
|
338 body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; } |
12432 | 339 a { color:#0000cc; } |
340 a:hover, a:visited, a:active { color:#880000; } | |
341 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; } | |
342 div.page_header a:visited { color:#0000cc; } | |
343 div.page_header a:hover { color:#880000; } | |
344 div.page_nav { padding:8px; } | |
345 div.page_nav a:visited { color:#0000cc; } | |
346 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px} | |
347 div.page_footer { padding:4px 8px; background-color: #d9d8d1; } | |
348 div.page_footer_text { float:left; color:#555555; font-style:italic; } | |
349 div.page_body { padding:8px; } | |
350 div.title, a.title { | |
351 display:block; padding:6px 8px; | |
352 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000; | |
353 } | |
354 a.title:hover { background-color: #d9d8d1; } | |
355 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; } | |
356 div.log_body { padding:8px 8px 8px 150px; } | |
357 .age { white-space:nowrap; } | |
358 span.age { position:relative; float:left; width:142px; font-style:italic; } | |
359 div.log_link { | |
360 padding:0px 8px; | |
361 font-size:10px; font-family:sans-serif; font-style:normal; | |
362 position:relative; float:left; width:136px; | |
363 } | |
364 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; } | |
365 a.list { text-decoration:none; color:#000000; } | |
366 a.list:hover { text-decoration:underline; color:#880000; } | |
367 table { padding:8px 4px; } | |
368 th { padding:2px 5px; font-size:12px; text-align:left; } | |
369 tr.light:hover, .parity0:hover { background-color:#edece6; } | |
370 tr.dark, .parity1 { background-color:#f6f6f0; } | |
371 tr.dark:hover, .parity1:hover { background-color:#edece6; } | |
372 td { padding:2px 5px; font-size:12px; vertical-align:top; } | |
373 td.closed { background-color: #99f; } | |
374 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; } | |
375 td.indexlinks { white-space: nowrap; } | |
376 td.indexlinks a { | |
377 padding: 2px 5px; line-height: 10px; | |
378 border: 1px solid; | |
379 color: #ffffff; background-color: #7777bb; | |
380 border-color: #aaaadd #333366 #333366 #aaaadd; | |
381 font-weight: bold; text-align: center; text-decoration: none; | |
382 font-size: 10px; | |
383 } | |
384 td.indexlinks a:hover { background-color: #6666aa; } | |
385 div.pre { font-family:monospace; font-size:12px; white-space:pre; } | |
386 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; } | |
387 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; } | |
388 div.search { margin:4px 8px; position:absolute; top:56px; right:12px } | |
389 .linenr { color:#999999; text-decoration:none } | |
390 div.rss_logo { float: right; white-space: nowrap; } | |
391 div.rss_logo a { | |
392 padding:3px 6px; line-height:10px; | |
393 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e; | |
394 color:#ffffff; background-color:#ff6600; | |
395 font-weight:bold; font-family:sans-serif; font-size:10px; | |
396 text-align:center; text-decoration:none; | |
397 } | |
398 div.rss_logo a:hover { background-color:#ee5500; } | |
399 pre { margin: 0; } | |
400 span.logtags span { | |
401 padding: 0px 4px; | |
402 font-size: 10px; | |
403 font-weight: normal; | |
404 border: 1px solid; | |
405 background-color: #ffaaff; | |
406 border-color: #ffccff #ff00ee #ff00ee #ffccff; | |
407 } | |
408 span.logtags span.tagtag { | |
409 background-color: #ffffaa; | |
410 border-color: #ffffcc #ffee00 #ffee00 #ffffcc; | |
411 } | |
412 span.logtags span.branchtag { | |
413 background-color: #aaffaa; | |
414 border-color: #ccffcc #00cc33 #00cc33 #ccffcc; | |
415 } | |
416 span.logtags span.inbranchtag { | |
417 background-color: #d5dde6; | |
418 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4; | |
419 } | |
13863
b602ac02f1ba
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents:
13597
diff
changeset
|
420 span.logtags span.bookmarktag { |
b602ac02f1ba
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents:
13597
diff
changeset
|
421 background-color: #afdffa; |
b602ac02f1ba
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents:
13597
diff
changeset
|
422 border-color: #ccecff #46ace6 #46ace6 #ccecff; |
b602ac02f1ba
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
Yuya Nishihara <yuya@tcha.org>
parents:
13597
diff
changeset
|
423 } |
23744
d1933c2e3c8c
templates: use CSS classes for diff styling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23409
diff
changeset
|
424 span.difflineplus { color:#008800; } |
d1933c2e3c8c
templates: use CSS classes for diff styling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23409
diff
changeset
|
425 span.difflineminus { color:#cc0000; } |
d1933c2e3c8c
templates: use CSS classes for diff styling
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23409
diff
changeset
|
426 span.difflineat { color:#990099; } |
12432 | 427 |
428 /* Graph */ | |
429 div#wrapper { | |
430 position: relative; | |
431 margin: 0; | |
432 padding: 0; | |
433 margin-top: 3px; | |
434 } | |
435 | |
436 canvas { | |
437 position: absolute; | |
438 z-index: 5; | |
439 top: -0.9em; | |
440 margin: 0; | |
441 } | |
442 | |
443 ul#nodebgs { | |
444 list-style: none inside none; | |
445 padding: 0; | |
446 margin: 0; | |
447 top: -0.7em; | |
448 } | |
449 | |
450 ul#graphnodes li, ul#nodebgs li { | |
451 height: 39px; | |
452 } | |
453 | |
454 ul#graphnodes { | |
455 position: absolute; | |
456 z-index: 10; | |
457 top: -0.8em; | |
458 list-style: none inside none; | |
459 padding: 0; | |
460 } | |
461 | |
462 ul#graphnodes li .info { | |
463 display: block; | |
464 font-size: 100%; | |
465 position: relative; | |
466 top: -3px; | |
467 font-style: italic; | |
468 } | |
17202
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
469 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
470 /* Comparison */ |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
471 .legend { |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
472 padding: 1.5% 0 1.5% 0; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
473 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
474 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
475 .legendinfo { |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
476 border: 1px solid #d9d8d1; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
477 font-size: 80%; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
478 text-align: center; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
479 padding: 0.5%; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
480 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
481 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
482 .equal { |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
483 background-color: #ffffff; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
484 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
485 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
486 .delete { |
17243
106cdea0183d
hgweb: improve colors for comparison page
Matt Mackall <mpm@selenic.com>
parents:
17202
diff
changeset
|
487 background-color: #faa; |
106cdea0183d
hgweb: improve colors for comparison page
Matt Mackall <mpm@selenic.com>
parents:
17202
diff
changeset
|
488 color: #333; |
17202
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
489 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
490 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
491 .insert { |
17243
106cdea0183d
hgweb: improve colors for comparison page
Matt Mackall <mpm@selenic.com>
parents:
17202
diff
changeset
|
492 background-color: #ffa; |
17202
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
493 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
494 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
495 .replace { |
17243
106cdea0183d
hgweb: improve colors for comparison page
Matt Mackall <mpm@selenic.com>
parents:
17202
diff
changeset
|
496 background-color: #e8e8e8; |
17202
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
497 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
498 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
499 .comparison { |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
500 overflow-x: auto; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
501 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
502 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
503 .header th { |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
504 text-align: center; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
505 } |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
506 |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
507 .block { |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
508 border-top: 1px solid #d9d8d1; |
1ae119269ddc
hgweb: side-by-side comparison functionality
wujek srujek
parents:
17017
diff
changeset
|
509 } |
20256
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
510 |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
511 .scroll-loading { |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
512 -webkit-animation: change_color 1s linear 0s infinite alternate; |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
513 -moz-animation: change_color 1s linear 0s infinite alternate; |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
514 -o-animation: change_color 1s linear 0s infinite alternate; |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
515 animation: change_color 1s linear 0s infinite alternate; |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
516 } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
517 |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
518 @-webkit-keyframes change_color { |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
519 from { background-color: #A0CEFF; } to { } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
520 } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
521 @-moz-keyframes change_color { |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
522 from { background-color: #A0CEFF; } to { } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
523 } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
524 @-o-keyframes change_color { |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
525 from { background-color: #A0CEFF; } to { } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
526 } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
527 @keyframes change_color { |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
528 from { background-color: #A0CEFF; } to { } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
529 } |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
530 |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
531 .scroll-loading-error { |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
532 background-color: #FFCCCC !important; |
b786754ba604
test-hgweb-*: output change fixes from b1d65cb8
Augie Fackler <raf@durin42.com>
parents:
19796
diff
changeset
|
533 } |
12432 | 534 304 Not Modified |
535 | |
9842
d3dbdca92458
hgweb: don't choke when an inexistent style is requested (issue1901)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8167
diff
changeset
|
536 |
22577
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
537 phase changes are refreshed (issue4061) |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
538 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
539 $ echo bar >> foo |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
540 $ hg ci -msecret --secret |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
541 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'log?style=raw' |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
542 200 Script output follows |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
543 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
544 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
545 # HG changelog |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
546 # Node ID 2ef0ac749a14e4f57a5a822464a0902c6f7f448f |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
547 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
548 changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
549 revision: 0 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
550 user: test |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
551 date: Thu, 01 Jan 1970 00:00:00 +0000 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
552 summary: base |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
553 branch: default |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
554 tag: tip |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
555 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
556 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
557 $ hg phase --draft tip |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
558 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'log?style=raw' |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
559 200 Script output follows |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
560 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
561 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
562 # HG changelog |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
563 # Node ID a084749e708a9c4c0a5b652a2a446322ce290e04 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
564 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
565 changeset: a084749e708a9c4c0a5b652a2a446322ce290e04 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
566 revision: 1 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
567 user: test |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
568 date: Thu, 01 Jan 1970 00:00:00 +0000 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
569 summary: secret |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
570 branch: default |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
571 tag: tip |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
572 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
573 changeset: 2ef0ac749a14e4f57a5a822464a0902c6f7f448f |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
574 revision: 0 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
575 user: test |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
576 date: Thu, 01 Jan 1970 00:00:00 +0000 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
577 summary: base |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
578 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
579 |
a111e460318a
hgweb: refresh hgweb.repo on phase change (issue4061)
Anton Shestakov <engored@ya.ru>
parents:
22506
diff
changeset
|
580 |
12432 | 581 errors |
5690
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
582 |
12432 | 583 $ cat errors.log |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15446
diff
changeset
|
584 |
23409
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
585 Uncaught exceptions result in a logged error and canned HTTP response |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
586 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
587 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
588 $ hg --config extensions.hgweberror=$TESTDIR/hgweberror.py serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
589 $ cat hg.pid >> $DAEMON_PIDS |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
590 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
591 $ $TESTDIR/get-with-headers.py localhost:$HGPORT 'raiseerror' transfer-encoding content-type |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
592 500 Internal Server Error |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
593 transfer-encoding: chunked |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
594 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
595 Internal Server Error (no-eol) |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
596 [1] |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
597 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
598 $ head -1 errors.log |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
599 .* Exception happened during processing request '/raiseerror': (re) |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
600 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
601 Uncaught exception after partial content sent |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
602 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
603 $ $TESTDIR/get-with-headers.py localhost:$HGPORT 'raiseerror?partialresponse=1' transfer-encoding content-type |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
604 200 Script output follows |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
605 transfer-encoding: chunked |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
606 content-type: text/plain |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
607 |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
608 partial content |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
609 Internal Server Error (no-eol) |
dc4d2cd3aa3e
hgweb: send proper HTTP response after uncaught exception
Gregory Szorc <gregory.szorc@gmail.com>
parents:
22947
diff
changeset
|
610 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15446
diff
changeset
|
611 $ cd .. |