Merge pull request #70 from cweagans/hooks
Dropping changes to `yadm.md` and `CONTRIBUTORS`. These are built programmatically during releases.
This commit is contained in:
commit
df21cd2cb8
2 changed files with 29 additions and 0 deletions
14
yadm
14
yadm
|
@ -97,10 +97,14 @@ function main() {
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
[ ! -d "$YADM_WORK" ] && error_out "Work tree does not exist: [$YADM_WORK]"
|
[ ! -d "$YADM_WORK" ] && error_out "Work tree does not exist: [$YADM_WORK]"
|
||||||
|
invoke_hook "pre_$YADM_COMMAND"
|
||||||
$YADM_COMMAND "${YADM_ARGS[@]}"
|
$YADM_COMMAND "${YADM_ARGS[@]}"
|
||||||
|
invoke_hook "post_$YADM_COMMAND"
|
||||||
else
|
else
|
||||||
#; any other commands are simply passed through to git
|
#; any other commands are simply passed through to git
|
||||||
|
invoke_hook "pre_$1"
|
||||||
git_command "$@"
|
git_command "$@"
|
||||||
|
invoke_hook "post_$1"
|
||||||
retval="$?"
|
retval="$?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -853,6 +857,16 @@ function error_out() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#: ****** Hook handler ******S
|
||||||
|
function invoke_hook() {
|
||||||
|
hook_name=$1
|
||||||
|
|
||||||
|
if [[ -x "$YADM_DIR/hooks/$hook_name.sh" ]] ; then
|
||||||
|
debug "invoking hook: $hook_name"
|
||||||
|
$YADM_DIR/hooks/$hook_name.sh
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
#; ****** Auto Functions ******
|
#; ****** Auto Functions ******
|
||||||
|
|
||||||
function auto_alt() {
|
function auto_alt() {
|
||||||
|
|
15
yadm.1
15
yadm.1
|
@ -400,6 +400,21 @@ Override the HOSTNAME for the purpose of symlinking alternate files.
|
||||||
.TP
|
.TP
|
||||||
.B local.user
|
.B local.user
|
||||||
Override the USER for the purpose of symlinking alternate files.
|
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
|
.SH ALTERNATES
|
||||||
When managing a set of files across different systems, it can be useful to have
|
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
|
an automated way of choosing an alternate version of a file for a different
|
||||||
|
|
Loading…
Reference in a new issue