Teach bdiff to support buffer objects
manifest.add gives revlog.addrevision a buffer object, which may
be cached and used for a second call in the same session (as mq does
when pushing multiple patches). The other option would be to cast the
buffer to str when caching it.
#header#
<title>#repo|escape#: Annotate</title>
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
<body>
<div class="page_header">
<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{getentries}">#repo|escape#</a> / annotate
</div>
<div class="page_nav">
<a href="{url}summary{getentries}">summary</a> |
<a href="{url}shortlog{getentries}">shortlog</a> |
<a href="{url}log{getentries}">changelog</a> |
<a href="{url}tags{getentries}">tags</a> |
<a href="{url}file/#node|short##path|urlescape#{getentries}">manifest</a> |
<a href="{url}rev/#node|short#{getentries}">changeset</a> |
<a href="{url}file/{node|short}/#file|urlescape#{getentries}">file</a> |
<a href="{url}log/{node|short}/#file|urlescape#{getentries}">revisions</a> |
annotate | <a href="{url}raw-annotate/{node|short}/#file|urlescape#">raw</a><br/>
</div>
<div class="title">#file|escape#</div>
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
<td><a href="{url}rev/#node|short#{getentries}">#node|short#</a></td></tr>
#rename%filerename#
#parent%fileannotateparent#
#child%fileannotatechild#
<tr>
<td class="metatag">manifest:</td>
<td><a href="{url}file/#node|short#{getentries}">#node|short#</a></td></tr>
<tr>
<td class="metatag">author:</td>
<td>#author|obfuscate#</td></tr>
<tr>
<td class="metatag">date:</td>
<td>#date|date# (#date|age# ago)</td></tr>
<tr>
<td class="metatag">permissions:</td>
<td>#permissions|permissions#</td></tr>
</table>
<div class="page_body">
<table>
#annotate%annotateline#
</table>
</div>
#footer#