precommit hook.