|
|
|
@ -400,21 +400,6 @@ Override the HOSTNAME for the purpose of symlinking alternate files. |
|
|
|
|
.TP |
|
|
|
|
.B local.user |
|
|
|
|
Override the USER for the purpose of symlinking alternate files. |
|
|
|
|
.SH HOOKS |
|
|
|
|
.B yadm |
|
|
|
|
has the capability to execute scripts before or after any operation that |
|
|
|
|
.B yadm |
|
|
|
|
can perform. To utilize this functionality, create a directory to store the hook |
|
|
|
|
scripts at |
|
|
|
|
.BR $HOME/.yadm/hooks. |
|
|
|
|
Then, create scripts inside this directory for whatever operation you want to |
|
|
|
|
hook into. For instance, if you'd like a script to run after |
|
|
|
|
.B yadm pull, |
|
|
|
|
your hook script should be executable and located at |
|
|
|
|
.BR $HOME/.yadm/hooks/post_pull.sh. |
|
|
|
|
Any of the |
|
|
|
|
.B yadm |
|
|
|
|
subcommands can utilize this functionality. |
|
|
|
|
.SH ALTERNATES |
|
|
|
|
When managing a set of files across different systems, it can be useful to have |
|
|
|
|
an automated way of choosing an alternate version of a file for a different |
|
|
|
@ -644,6 +629,62 @@ Even if disabled, permissions can be manually updated by running |
|
|
|
|
The SSH directory processing can be disabled using the |
|
|
|
|
.I yadm.ssh-perms |
|
|
|
|
configuration. |
|
|
|
|
.SH HOOKS |
|
|
|
|
For every command |
|
|
|
|
.B yadm |
|
|
|
|
supports, a program can be provided to run before or after that command. These |
|
|
|
|
are referred to as "hooks". |
|
|
|
|
.B yadm |
|
|
|
|
looks for |
|
|
|
|
hooks in the directory |
|
|
|
|
.IR $HOME/.yadm/hooks . |
|
|
|
|
Each hook is named using a prefix of |
|
|
|
|
.I pre_ |
|
|
|
|
or |
|
|
|
|
.IR post_ , |
|
|
|
|
followed by the command which should trigger the hook. For |
|
|
|
|
example, to create a hook which is run after every |
|
|
|
|
.I yadm pull |
|
|
|
|
command, create a hook named |
|
|
|
|
.IR post_pull. |
|
|
|
|
Hooks must have the executable file permission set. |
|
|
|
|
|
|
|
|
|
If a |
|
|
|
|
.I pre_ |
|
|
|
|
hook is defined, and the hook terminates with a non-zero exit status, |
|
|
|
|
.B yadm |
|
|
|
|
will refuse to run the |
|
|
|
|
.B yadm |
|
|
|
|
command. For example, if a |
|
|
|
|
.I pre_commit |
|
|
|
|
hook is defined, but that command ends with a non-zero exit status, the |
|
|
|
|
.I yadm commit |
|
|
|
|
will never be run. This allows one to "short-circuit" any operation using a |
|
|
|
|
.I pre_ |
|
|
|
|
hook. |
|
|
|
|
|
|
|
|
|
Hooks have the following environment variables available to them at runtime: |
|
|
|
|
.TP |
|
|
|
|
.B YADM_HOOK_COMMAND |
|
|
|
|
The command which triggered the hook |
|
|
|
|
.TP |
|
|
|
|
.B YADM_HOOK_EXIT |
|
|
|
|
The exit status of the |
|
|
|
|
.B yadm |
|
|
|
|
command |
|
|
|
|
.TP |
|
|
|
|
.B YADM_HOOK_FULL_COMMAND |
|
|
|
|
The |
|
|
|
|
.B yadm |
|
|
|
|
command with all command line arguments |
|
|
|
|
.TP |
|
|
|
|
.B YADM_HOOK_REPO |
|
|
|
|
The path to the |
|
|
|
|
.B yadm |
|
|
|
|
repository |
|
|
|
|
.TP |
|
|
|
|
.B YADM_HOOK_WORK |
|
|
|
|
The path to the work-tree |
|
|
|
|
.SH FILES |
|
|
|
|
The following are the default paths |
|
|
|
|
.B yadm |
|
|
|
|