don't return uninitialized memory from bdiff.blocks()
bdiff.blocks() returns a dummy match at the end of both files; the
length of that chunk is never set, so it will sometimes contain random
heap garbage. There are apparently workarounds for this elsewhere:
# bdiff sometimes gives huge matches past eof, this check eats them,
repo the name of the repo
rev a changeset.manifest revision
node a changeset node
changesets total number of changesets
file a filename
filerev a file revision
filerevs total number of file revisions
up the directory of the relevant file
path a path in the manifest, starting with "/"
basename a short pathname
date a date string
age age in hours, days, etc
line a line of text (escaped)
desc a description (escaped, with breaks)
shortdesc a short description (escaped)
author a name or email addressv(obfuscated)
parent a list of the parent
child a list of the children
tags a list of tag
header the global page header
footer the global page footer
files a list of file links
file_copies a list of pairs of name, source filenames
dirs a set of directory links
diff a diff of one or more files
annotate an annotated file
entries the entries relevant to the page
Templates and commands:
changelog(rev) - a page for browsing changesets
naventry - a link for jumping to a changeset number
filenodelink - jump to file diff
fileellipses - printed after maxfiles
changelogentry - an entry in the log
manifest - browse a manifest as a directory tree