support hooks written in python.
to write hook in python, create module with hook function inside.
make sure mercurial can import module (put it in $PYTHONPATH or load it
as extension). hook function should look like this:
def myhook(ui, repo, hooktype, **kwargs):
if hook_passes:
return True
elif hook_explicitly_fails:
return False
elif some_other_failure:
import util
raise util.Abort('helpful failure message')
else:
return
# implicit return of None makes hook fail!
then in .hgrc, add hook with "python:" prefix:
[hooks]
commit = python:mymodule.myhook
<table class="logEntry parity#parity#">
<tr>
<th class="age">#date|age# ago:</th>
<th class="firstline"><a href="?cs=#node|short#">#desc|strip|firstline|escape#</a></th>
</tr>
<tr>
<th class="revision">revision #filerev#:</td>
<td class="node">
<a href="?f=#filenode|short#;file=#file|urlescape#">#filenode|short#</a>
<a href="?fd=#node|short#;file=#file|urlescape#">(diff)</a>
<a href="?fa=#filenode|short#;file=#file|urlescape#">(annotate)</a>
</td>
</tr>
#rename%filelogrename#
<tr>
<th class="author">author:</th>
<td class="author">#author|obfuscate#</td>
</tr>
<tr>
<th class="date">date:</th>
<td class="date">#date|date#</td>
</tr>
</table>