##// END OF EJS Templates
tests: fix toctou race in tinyproxy.py (issue3795)...
tests: fix toctou race in tinyproxy.py (issue3795) test-http-proxy.t sometimes failed with: File ".../tests/tinyproxy.py", line 110, in _read_write data = i.recv(8192) error: (104, 'Connection reset by peer') This might have started showing up with a9fd11ffa13f ... but it has apparently also been seen before. I don't see anything in a9fd11ffa13f that can explain it. It seems to be a race in test, in the tinyproxy helper: Tinyproxy found an incoming socket using select(). It would break the loop if an error had been detected on the socket, but there was no error and it tried to recv() from the socket. That failed - apparently because it had been reset after select(). Errors in the recv() will now be caught and will break the loop like errors detected by select() would. (send() could also fail in a similar way ... but using the same solution there and losing data we have read doesn't feel right.)

File last commit:

r18258:bebb05a7 default
r18519:ca430fb6 stable
Show More
map
262 lines | 11.0 KiB | text/plain | TextLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 default = 'summary'
mimetype = 'text/html; charset={encoding}'
header = header.tmpl
footer = footer.tmpl
search = search.tmpl
changelog = changelog.tmpl
summary = summary.tmpl
error = error.tmpl
notfound = notfound.tmpl
Augie Fackler
web: add a help view for getting hg help output
r12666
help = help.tmpl
helptopics = helptopics.tmpl
helpentry = '<tr><td><a href="{url}help/{topic|escape}{sessionvars%urlparameter}">{topic|escape}</a></td><td>{summary|escape}</td></tr>'
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a>'
filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
filenodelink = '
<tr class="parity{parity}">
<td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
<td></td>
<td>
<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <a href="{url}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> |
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
</td>
</tr>'
filenolink = '
<tr class="parity{parity}">
Steven Brown
monoblue: improve readability of the filenolink template...
r14307 <td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
<td></td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td>
Steven Brown
monoblue: improve readability of the filenolink template...
r14307 file |
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 annotate |
<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 <a href="{url}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> |
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
</td>
</tr>'
Nicolas Dumazet
hgweb: changenav: separate pages before and after the current position...
r10254
nav = '{before%naventry} {after%naventry}'
navshort = '{before%navshortentry}{after%navshortentry}'
navgraph = '{before%navgraphentry}{after%navgraphentry}'
filenav = '{before%filenaventry}{after%filenaventry}'
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 fileellipses = '...'
changelogentry = changelogentry.tmpl
searchentry = changelogentry.tmpl
changeset = changeset.tmpl
manifest = manifest.tmpl
direntry = '
<tr class="parity{parity}">
<td>drwxr-xr-x</td>
<td></td>
<td></td>
<td><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td>
<td><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></td>
</tr>'
fileentry = '
<tr class="parity{parity}">
<td>{permissions|permissions}</td>
<td>{date|isodate}</td>
<td>{size}</td>
<td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td>
<td>
<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> |
<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
</td>
</tr>'
filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 filecomparison = filecomparison.tmpl
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 filelog = filelog.tmpl
fileline = '
<div style="font-family:monospace" class="parity{parity}">
<pre><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</pre>
</div>'
annotateline = '
<tr class="parity{parity}">
<td class="linenr">
Martin Geisler
paper, monoblue: link correctly to lines in annotate view...
r16577 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
Augie Fackler
web: add a help view for getting hg help output
r12666 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </td>
<td class="lineno">
<a href="#{lineid}" id="{lineid}">{linenumber}</a>
</td>
<td class="source">{line|escape}</td>
</tr>'
difflineplus = '<span style="color:#008800;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
difflineminus = '<span style="color:#cc0000;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
difflineat = '<span style="color:#990099;"><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
diffline = '<span><a class="linenr" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</span>'
wujek srujek
hgweb: side-by-side comparison functionality...
r17202
comparisonblock ='
<tbody class="block">
{lines}
</tbody>'
comparisonline = '
<tr>
<td class="source {type}"><a class="linenr" href="#{lineid}" id="{lineid}">{leftlinenumber}</a> {leftline|escape}</td>
<td class="source {type}"><a class="linenr" href="#{lineid}" id="{lineid}">{rightlinenumber}</a> {rightline|escape}</td>
</tr>'
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 changelogparent = '
<tr>
<th class="parent">parent {rev}:</th>
<td class="parent">
<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
</td>
</tr>'
changesetbranch = '<dt>branch</dt><dd>{name}</dd>'
changesetparent = '
<dt>parent {rev}</dt>
<dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
filerevbranch = '<dt>branch</dt><dd>{name}</dd>'
filerevparent = '
<dt>parent {rev}</dt>
<dd>
<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
{rename%filerename}{node|short}
</a>
</dd>'
filerename = '{file|escape}@'
filelogrename = '| <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>'
fileannotateparent = '
<dt>parent {rev}</dt>
<dd>
<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
{rename%filerename}{node|short}
</a>
</dd>'
changelogchild = '
<dt>child {rev}:</dt>
<dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
changesetchild = '
<dt>child {rev}</dt>
<dd><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>'
filerevchild = '
<dt>child {rev}</dt>
<dd>
<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
</dd>'
fileannotatechild = '
<dt>child {rev}</dt>
<dd>
<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
</dd>'
tags = tags.tmpl
tagentry = '
<tr class="parity{parity}">
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="nowrap age">{date|rfc822date}</td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td>
<td class="nowrap">
<a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
<a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
<a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
</td>
</tr>'
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 bookmarks = bookmarks.tmpl
bookmarkentry = '
<tr class="parity{parity}">
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="nowrap date">{date|rfc822date}</td>
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{bookmark|escape}</a></td>
<td class="nowrap">
<a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
<a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
<a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
</td>
</tr>'
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 branches = branches.tmpl
branchentry = '
<tr class="parity{parity}">
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="nowrap age">{date|rfc822date}</td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
<td class="{status}">{branch|escape}</td>
<td class="nowrap">
<a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
<a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
<a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
</td>
</tr>'
diffblock = '<pre>{lines}</pre>'
filediffparent = '
<dt>parent {rev}</dt>
<dd><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 filecompparent = '
<dt>parent {rev}</dt>
<dd><a href="{url}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 filelogparent = '
<tr>
<td align="right">parent {rev}:&nbsp;</td>
<td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
</tr>'
filediffchild = '
<dt>child {rev}</dt>
<dd><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 filecompchild = '
<dt>child {rev}</dt>
<dd><a href="{url}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>'
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 filelogchild = '
<tr>
<td align="right">child {rev}:&nbsp;</td>
<td><a href="{url}file{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
</tr>'
shortlog = shortlog.tmpl
tagtag = '<span class="tagtag" title="{name}">{name}</span> '
branchtag = '<span class="branchtag" title="{name}">{name}</span> '
inbranchtag = '<span class="inbranchtag" title="{name}">{name}</span> '
Yuya Nishihara
hgweb: add bookmark labels to monoblue theme (based on 270f57d35525)
r13794 bookmarktag = '<span class="bookmarktag" title="{name}">{name}</span> '
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 shortlogentry = '
<tr class="parity{parity}">
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="nowrap age">{date|rfc822date}</td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td>{author|person}</td>
<td>
<a href="{url}rev/{node|short}{sessionvars%urlparameter}">
{desc|strip|firstline|escape|nonempty}
Yuya Nishihara
hgweb: add bookmark labels to monoblue theme (based on 270f57d35525)
r13794 <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </a>
</td>
<td class="nowrap">
<a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
<a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
</td>
</tr>'
filelogentry = '
<tr class="parity{parity}">
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="nowrap age">{date|rfc822date}</td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></td>
<td class="nowrap">
<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a>&nbsp;|&nbsp;<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a>&nbsp;|&nbsp;<a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a>
{rename%filelogrename}
</td>
</tr>'
archiveentry = '<li><a href="{url}archive/{node|short}{extension}">{type|escape}</a></li>'
indexentry = '
<tr class="parity{parity}">
<td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
<td>{description}</td>
<td>{contact|obfuscate}</td>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="age">{lastchange|rfc822date}</td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td class="indexlinks">{archives%indexarchiveentry}</td>
<td>
Angel Ezquerra
hgwebdir: do not show RSS and Atom links for plain directories...
r18046 {if(isdirectory, '',
'<div class="rss_logo">
<a href="{url}rss-log">RSS</a> <a href="{url}atom-log">Atom</a>
</div>'
)}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </td>
</tr>\n'
indexarchiveentry = '<a href="{url}archive/{node|short}{extension}">{type|escape}</a> '
index = index.tmpl
urlparameter = '{separator}{name}={value|urlescape}'
hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
graph = graph.tmpl
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 breadcrumb = '&gt; <a href="{url}">{name}</a> '