1
0
Fork 0
mirror of synced 2024-11-14 13:38:58 -05:00
yadm/_docs/090_hooks.md

36 lines
1.2 KiB
Markdown
Raw Normal View History

2019-10-20 16:07:13 -04:00
---
title: "Hooks"
permalink: /docs/hooks
---
For every command yadm supports, a program can be provided to run before or
after that command. These are referred to as "hooks". yadm looks for hooks in
the directory
`$HOME/.config/yadm/hooks`.
Each hook is named using a prefix of `pre_` or `post_`, followed by the command
which should trigger the hook. For example, to create a hook which is run after
every `yadm pull` command, create a hook named `post_pull`.
Hooks must have the executable file permission set.
If a `pre_` hook is defined, and the hook terminates with a non-zero exit
status, yadm will refuse to run the yadm command. For example, if a
`pre_commit` hook is defined, but that command ends with a non-zero exit status,
the `yadm commit` will never be run. This allows one to "short-circuit" any
operation using a `pre_` hook.
Hooks have the following environment variables available to them at runtime:
YADM_HOOK_COMMAND
: The command which triggered the hook
YADM_HOOK_EXIT
: The exit status of the yadm command
YADM_HOOK_FULL_COMMAND
: The yadm command with all command line arguments
YADM_HOOK_REPO
: The path to the yadm repository
YADM_HOOK_WORK
: The path to the work-tree