Expose some internal data to all hooks
* Command run by yadm * Full commandline arguments * Repo directory * Worktree * Exit status (for post hooks)
This commit is contained in:
parent
35743e3711
commit
f73c873681
1 changed files with 19 additions and 1 deletions
20
yadm
20
yadm
|
@ -31,6 +31,7 @@ YADM_ARCHIVE="files.gpg"
|
||||||
YADM_BOOTSTRAP="bootstrap"
|
YADM_BOOTSTRAP="bootstrap"
|
||||||
|
|
||||||
HOOK_COMMAND=""
|
HOOK_COMMAND=""
|
||||||
|
FULL_COMMAND=""
|
||||||
|
|
||||||
GPG_PROGRAM="gpg"
|
GPG_PROGRAM="gpg"
|
||||||
GIT_PROGRAM="git"
|
GIT_PROGRAM="git"
|
||||||
|
@ -55,6 +56,9 @@ function main() {
|
||||||
|
|
||||||
require_git
|
require_git
|
||||||
|
|
||||||
|
#; capture full command, for passing to hooks
|
||||||
|
FULL_COMMAND="$*"
|
||||||
|
|
||||||
#; create the YADM_DIR if it doesn't exist yet
|
#; create the YADM_DIR if it doesn't exist yet
|
||||||
[ -d "$YADM_DIR" ] || mkdir -p "$YADM_DIR"
|
[ -d "$YADM_DIR" ] || mkdir -p "$YADM_DIR"
|
||||||
|
|
||||||
|
@ -861,7 +865,7 @@ function error_out() {
|
||||||
|
|
||||||
function exit_with_hook() {
|
function exit_with_hook() {
|
||||||
|
|
||||||
invoke_hook "post"
|
invoke_hook "post" "$1"
|
||||||
exit "$1"
|
exit "$1"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -869,10 +873,24 @@ function exit_with_hook() {
|
||||||
function invoke_hook() {
|
function invoke_hook() {
|
||||||
|
|
||||||
mode="$1"
|
mode="$1"
|
||||||
|
exit_status="$2"
|
||||||
hook_command="$YADM_DIR/hooks/${mode}_$HOOK_COMMAND"
|
hook_command="$YADM_DIR/hooks/${mode}_$HOOK_COMMAND"
|
||||||
|
|
||||||
if [ -x "$hook_command" ] ; then
|
if [ -x "$hook_command" ] ; then
|
||||||
debug "Invoking hook: $hook_command"
|
debug "Invoking hook: $hook_command"
|
||||||
|
|
||||||
|
#; expose some internal data to all hooks
|
||||||
|
YADM_HOOK_COMMAND=$HOOK_COMMAND
|
||||||
|
YADM_HOOK_EXIT=$exit_status
|
||||||
|
YADM_HOOK_FULL_COMMAND=$FULL_COMMAND
|
||||||
|
YADM_HOOK_REPO=$YADM_REPO
|
||||||
|
YADM_HOOK_WORK=$YADM_WORK
|
||||||
|
export YADM_HOOK_COMMAND
|
||||||
|
export YADM_HOOK_EXIT
|
||||||
|
export YADM_HOOK_FULL_COMMAND
|
||||||
|
export YADM_HOOK_REPO
|
||||||
|
export YADM_HOOK_WORK
|
||||||
|
|
||||||
"$hook_command"
|
"$hook_command"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue