revlog: add a magic null revision to our index
We expand our index by one entry so that index[nullrev] points to a
unique entry, the null revision. This naturally eliminates numerous
extra tests in the performance-sensitive index access functions, most
of which are now trivial again.
Adding new entries is now done with insert(-1, e) rather than
append(e).
#header#
<title>#repo|escape#:#file|escape#</title>
</head>
<body>
<div class="buttons">
<a href="#url#log/#rev#{sessionvars%urlparameter}">changelog</a>
<a href="#url#shortlog/#rev#{sessionvars%urlparameter}">shortlog</a>
<a href="#url#tags{sessionvars%urlparameter}">tags</a>
<a href="#url#rev/#node|short#{sessionvars%urlparameter}">changeset</a>
<a href="#url#file/#node|short##path|urlescape#{sessionvars%urlparameter}">manifest</a>
<a href="#url#log/#node|short#/#file|urlescape#{sessionvars%urlparameter}">revisions</a>
<a href="#url#annotate/#node|short#/#file|urlescape#{sessionvars%urlparameter}">annotate</a>
<a href="#url#raw-file/#node|short#/#file|urlescape#">raw</a>
</div>
<h2>#file|escape#</h2>
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
<td><a href="#url#rev/#node|short#{sessionvars%urlparameter}">#node|short#</a></td></tr>
#parent%filerevparent#
#child%filerevchild#
<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>
<tr>
<td class="metatag">description:</td>
<td>{desc|strip|escape|addbreaks}</td>
</tr>
</table>
<pre>
#text%fileline#
</pre>
#footer#