Mercurial > hg
view tests/test-merge-revert2 @ 2155:ff255b41b4aa
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
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 28 Apr 2006 15:50:22 -0700 |
parents | d436b21b20dc |
children | 890e285c52a1 |
line wrap: on
line source
#!/bin/sh mkdir t cd t hg init echo "added file1" > file1 echo "another line of text" >> file1 echo "added file2" > file2 hg add file1 file2 hg commit -m "added file1 and file2" -d "1000000 0" -u user echo "changed file1" >> file1 hg commit -m "changed file1" -d "1000000 0" -u user hg -q log hg id hg update -C 0 hg id echo "changed file1" >> file1 hg id hg revert --no-backup hg diff hg status hg id hg update hg diff hg status hg id hg update -C 0 echo "changed file1 different" >> file1 HGMERGE=merge hg update hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" -e "s/\(<<<<<<<\) .*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" -e "s/\(>>>>>>>\) .*/\1/" hg status hg id hg revert --no-backup hg diff hg status hg id hg revert -r tip --no-backup hg diff hg status hg id hg update -C hg diff hg status hg id cd ..; /bin/rm -rf t