Fix diff against an empty file (
issue124) and add a test for this.
add pretxncommit hook.
hook allows check of changeset after create, but before transaction
is committed. hook failure rolls transaction back.
makes place for local policies like commit message must contain bug id
or reviewer signoff.
change also adds parent changeset ids to commit hook environment,
because is cheap and useful.
add pretag and tag hooks.
pretag hook lets hook decide how tags can be named. tag hook is
notifier.
make hook code nicer.
pre hooks can raise exception if fail.
tidy up better if exception raised (like KeyboardInterrupt) when running
hook program.