##// END OF EJS Templates
strip: use the 'finally: tr.release' pattern during stripping...
strip: use the 'finally: tr.release' pattern during stripping The previous code, was calling 'abort' in all exception cases. This was wrong when an exception was raised by post-close callback on the transaction. Calling 'abort' on an already closed transaction resulted in a error, shadowing the original error. We now use the same pattern as everywhere else. 'tr.release()' will abort the transaction if we escape the scope without closing it. We add a test to make sure we do not regress.

File last commit:

r21486:16352b34 default
r26012:d815a599 stable
Show More
changelogentry.tmpl
40 lines | 1.3 KiB | application/x-cheetah | CheetahLexer
<item>
<title>{inbranch%"{if(name, '[{name|escape}] ')}"}{branches%"{if(name, '[{name|escape}] ')}"}{desc|strip|firstline|strip|escape}</title>
<guid isPermaLink="true">{urlbase}{url|urlescape}rev/{node|short}</guid>
<link>{urlbase}{url|urlescape}rev/{node|short}</link>
<description>
<![CDATA[
<table>
<tr>
<th style="text-align:left;">changeset</th>
<td>{node|short}</td>
</tr>
<tr>
<th style="text-align:left;">branch</th>
<td>{inbranch%"{name|escape}"}{branches%"{name|escape}"}</td>
</tr>
<tr>
<th style="text-align:left;">bookmark</th>
<td>{bookmarks%"{name|escape}"}</td>
</tr>
<tr>
<th style="text-align:left;">tag</th>
<td>{tags%"{name|escape}"}</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">user</th>
<td>{author|obfuscate}</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">description</th>
<td>{desc|strip|escape|websub|addbreaks|nonempty}</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">files</th>
<td>{files}</td>
</tr>
</table>
]]></description>
<author>{author|obfuscate}</author>
<pubDate>{date|rfc822date}</pubDate>
</item>