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.
default = 'changelog'
header = header.tmpl
footer = footer.tmpl
search = search.tmpl
changelog = changelog.tmpl
shortlog = shortlog.tmpl
shortlogentry = shortlogentry.tmpl
naventry = '<a href="#url#log/#rev#{getentries}">#label|escape#</a> '
navshortentry = '<a href="#url#shortlog/#rev#{getentries}">#label|escape#</a> '
filedifflink = '<a href="#url#diff/#node|short#/#file|urlescape#{getentries}">#file|escape#</a> '
filenodelink = '<a href="#url#file/#node|short#/#file|urlescape#{getentries}">#file|escape#</a> '
fileellipses = '...'
changelogentry = changelogentry.tmpl
searchentry = changelogentry.tmpl
changeset = changeset.tmpl
manifest = manifest.tmpl
manifestdirentry = '<tr class="parity#parity#"><td><tt>drwxr-xr-x</tt> <td> <td><a href="#url#file/#node|short##path|urlescape#{getentries}">#basename|escape#/</a>'
manifestfileentry = '<tr class="parity#parity#"><td><tt>#permissions|permissions#</tt> <td align=right><tt>#size#</tt> <td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#basename|escape#</a>'
filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
fileline = '<div class="parity#parity#"><span class="lineno">#linenumber#</span>#line|escape#</div>'
filelogentry = filelogentry.tmpl
annotateline = '<tr class="parity#parity#"><td class="annotate"><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>'
difflineplus = '<span class="plusline">#line|escape#</span>'
difflineminus = '<span class="minusline">#line|escape#</span>'
difflineat = '<span class="atline">#line|escape#</span>'
diffline = '#line|escape#'
changelogparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
changesetparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
filerevparent = '<tr><td class="metatag">parent:</td><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
filerename = '<tr><td class="metatag">parent:</td><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#file|escape#@#node|short#</a></td></tr>'
filelogrename = '<tr><th>base:</th><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#file|escape#@#node|short#</a></td></tr>'
fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
changesetchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
changelogchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
filerevchild = '<tr><td class="metatag">child:</td><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="#url#annotate/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
tags = tags.tmpl
tagentry = '<li class="tagEntry parity#parity#"><tt class="node">#node#</tt> <a href="#url#rev/#node|short#{getentries}">#tag|escape#</a></li>'
diffblock = '<pre class="parity#parity#">#lines#</pre>'
changelogtag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
changesettag = '<tr><th class="tag">tag:</th><td class="tag">#tag|escape#</td></tr>'
filediffparent = '<tr><th class="parent">parent #rev#:</th><td class="parent"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
filelogparent = '<tr><th>parent #rev#:</th><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
filediffchild = '<tr><th class="child">child #rev#:</th><td class="child"><a href="#url#rev/#node|short#{getentries}">#node|short#</a></td></tr>'
filelogchild = '<tr><th>child #rev#:</th><td><a href="#url#file/#node|short#/#file|urlescape#{getentries}">#node|short#</a></td></tr>'
indexentry = '<tr class="parity#parity#"><td><a href="#url#">#name|escape#</a></td><td>#description#</td><td>#contact|obfuscate#</td><td class="age">#lastchange|age# ago</td><td class="indexlinks"><a href="#url#rss-log">RSS</a> #archives%archiveentry#</td></tr>'
index = index.tmpl
archiveentry = '<a href="#url#archive/#node|short##extension|urlescape#">#type|escape#</a> '
notfound = notfound.tmpl
error = error.tmpl