##// END OF EJS Templates
hgweb: consume generator inside context manager (issue4756)...
hgweb: consume generator inside context manager (issue4756) If code inside a context manager returns a generator, the context manager exits before the generator is iterated. hgweb was using a context manager to control thread safe access to a localrepository instance. But it was returning a generator, so there was a race condition between a previous request streaming a response to the client and a new request obtaining the released but in use repository. By iterating the generator inside the context manager, we ensure we don't release the repo instance until after the response has finished. With this change, hgweb finally appears to have full localrepository isolation between threads. I can no longer reproduce the 2 exceptions reported in issue4756. test-hgweb-non-interactive.t has been modified to consume the output of calling into a WSGI application. Without this, execution of the WSGI application stalls because of the added yield statement.

File last commit:

r26151:0dda3692 stable
r26247:7df5d476 default
Show More
helptopics.tmpl
45 lines | 1.9 KiB | application/x-cheetah | CheetahLexer
Augie Fackler
web: add a help view for getting hg help output
r12666 {header}
av6
hgweb: fix help pages title in gitweb and monoblue...
r25686 <title>Help: {title}</title>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
<link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
Augie Fackler
web: add a help view for getting hg help output
r12666 </head>
<body>
<div id="container">
<div class="page-header">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / help</h1>
Augie Fackler
web: add a help view for getting hg help output
r12666
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <form action="{url|urlescape}log">
Augie Fackler
web: add a help view for getting hg help output
r12666 {sessionvars%hiddenformentry}
<dl class="search">
<dt><label>Search: </label></dt>
<dd><input type="text" name="rev" /></dd>
</dl>
</form>
<ul class="page-nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
<li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
av6
hgweb: don't point graph links at tip hash where it doesn't make sense...
r25525 <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
av6
monoblue: fix branches link on help topics page
r25872 <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
av6
hgweb: don't point file links at tip hash where it doesn't make sense...
r25526 <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li>
Anton Shestakov
hgweb: don't mix tabs and spaces in monoblue templates
r24129 <li class="current">help</li>
Augie Fackler
web: add a help view for getting hg help output
r12666 </ul>
</div>
av6
monoblue: fix page subtitle on help pages
r26151 <h2 class="no-link no-border">help</h2>
Augie Fackler
web: add a help view for getting hg help output
r12666 <table cellspacing="0">
<tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
{topics % helpentry}
<tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
{earlycommands % helpentry}
<tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
{othercommands % helpentry}
</table>
{footer}