Mercurial > hg
view tests/test-clone-r @ 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 | d4a3a8a332ab |
children | c0b449154a90 |
line wrap: on
line source
#!/bin/sh hg init test cd test cat >>afile <<EOF 0 EOF hg add afile hg commit -m "0.0" cat >>afile <<EOF 1 EOF hg commit -m "0.1" cat >>afile <<EOF 2 EOF hg commit -m "0.2" cat >>afile <<EOF 3 EOF hg commit -m "0.3" hg update -C 0 cat >>afile <<EOF 1 EOF hg commit -m "1.1" cat >>afile <<EOF 2 EOF hg commit -m "1.2" cat >fred <<EOF a line EOF cat >>afile <<EOF 3 EOF hg add fred hg commit -m "1.3" hg mv afile adifferentfile hg commit -m "1.3m" hg update -C 3 hg mv afile anotherfile hg commit -m "0.3m" hg debugindex .hg/data/afile.i hg debugindex .hg/data/adifferentfile.i hg debugindex .hg/data/anotherfile.i hg debugindex .hg/data/fred.i hg debugindex .hg/00manifest.i hg verify cd .. for i in 0 1 2 3 4 5 6 7 8; do hg clone -r "$i" test test-"$i" cd test-"$i" hg verify cd .. done cd test-8 hg pull ../test-7 hg verify