Add initial hook support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add initial hook support
This adds the basic hook code as well as pre and post-commit hooks.
Argument passing is by environment variable key/value pairs so that
extra data can be passed over time. File lists will generally not be
passed to hooks as these can be extremely long (>1M).
manifest hash: 45cf9bab432782c391bc9c1c048c84cc75d52740
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwOukywK+sNU5EO8RAsVsAJ9QipR2aKRSSvoRNo+3If6JddUDkwCgkZrM
KEmZpUOxhNHqezFVrHDRTjE=
=aedm
-----END PGP SIGNATURE-----
#header#
<title>#repo|escape#: #file# annotate</title>
</head>
<body>
<div class="buttons">
<a href="?cmd=changelog;rev=#rev#">changelog</a>
<a href="?cmd=tags">tags</a>
<a href="?cmd=changeset;node=#node#">changeset</a>
<a href="?cmd=manifest;manifest=#manifest#;path=#path#">manifest</a>
<a href="?cmd=file;file=#file#;filenode=#filenode#">file</a>
<a href="?cmd=filelog;file=#file#;filenode=#filenode#">revisions</a>
</div>
<h2>Annotate #file# (#filenode|short#)</h2>
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
<td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>
#parent1#
#parent2#
<tr>
<td class="metatag">manifest:</td>
<td><a href="?cmd=manifest;manifest=#manifest#;path=/">#manifest|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>
<br/>
<table cellspacing="0" cellpadding="0">
#annotate#
</table>
#footer#