##// END OF EJS Templates
tests: test behavior of IOError during transactions (issue5658)...
tests: test behavior of IOError during transactions (issue5658) ui._write(), ui._write_err(), and ui.flush() all trap IOError and re-raise as error.StdioError. If a caller doesn't catch StdioError when writing to stdio, it could bubble all the way to dispatch. This commit adds tests for I/O failures around various transaction operations. The most notable badness is during abort. Here, an uncaught StdioError will result in incomplete transaction rollback, requiring an `hg rollback` to recover. This can result in a client "corrupting" a remote repo via terminated HTTP and SSH socket.

File last commit:

r29436:849b8e84 default
r33858:2debf1e3 stable
Show More
changelogentry.tmpl
41 lines | 1.5 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>