|
|
|
@ -30,6 +30,8 @@ YADM_ENCRYPT="encrypt" |
|
|
|
|
YADM_ARCHIVE="files.gpg" |
|
|
|
|
YADM_BOOTSTRAP="bootstrap" |
|
|
|
|
|
|
|
|
|
HOOK_COMMAND="" |
|
|
|
|
|
|
|
|
|
GPG_PROGRAM="gpg" |
|
|
|
|
GIT_PROGRAM="git" |
|
|
|
|
LS_PROGRAM="/bin/ls" |
|
|
|
@ -97,14 +99,14 @@ function main() { |
|
|
|
|
shift |
|
|
|
|
done |
|
|
|
|
[ ! -d "$YADM_WORK" ] && error_out "Work tree does not exist: [$YADM_WORK]" |
|
|
|
|
invoke_hook "pre_$YADM_COMMAND" |
|
|
|
|
HOOK_COMMAND="$YADM_COMMAND" |
|
|
|
|
invoke_hook "pre" |
|
|
|
|
$YADM_COMMAND "${YADM_ARGS[@]}" |
|
|
|
|
invoke_hook "post_$YADM_COMMAND" |
|
|
|
|
else |
|
|
|
|
#; any other commands are simply passed through to git |
|
|
|
|
invoke_hook "pre_$1" |
|
|
|
|
HOOK_COMMAND="$1" |
|
|
|
|
invoke_hook "pre" |
|
|
|
|
git_command "$@" |
|
|
|
|
invoke_hook "post_$1" |
|
|
|
|
retval="$?" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
@ -113,7 +115,7 @@ function main() { |
|
|
|
|
auto_perms |
|
|
|
|
auto_bootstrap |
|
|
|
|
|
|
|
|
|
exit $retval |
|
|
|
|
exit_with_hook $retval |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -546,7 +548,7 @@ Files: |
|
|
|
|
Use "man yadm" for complete documentation. |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
exit 1 |
|
|
|
|
exit_with_hook 1 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -698,7 +700,7 @@ function perms() { |
|
|
|
|
function version() { |
|
|
|
|
|
|
|
|
|
echo "yadm $VERSION" |
|
|
|
|
exit 0 |
|
|
|
|
exit_with_hook 0 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -853,17 +855,25 @@ function debug() { |
|
|
|
|
function error_out() { |
|
|
|
|
|
|
|
|
|
echo -e "ERROR: $*" |
|
|
|
|
exit 1 |
|
|
|
|
exit_with_hook 1 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function exit_with_hook() { |
|
|
|
|
|
|
|
|
|
invoke_hook "post" |
|
|
|
|
exit "$1" |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function invoke_hook() { |
|
|
|
|
|
|
|
|
|
hook_name="$1" |
|
|
|
|
mode="$1" |
|
|
|
|
hook_command="$YADM_DIR/hooks/${mode}_$HOOK_COMMAND" |
|
|
|
|
|
|
|
|
|
if [ -x "$YADM_DIR/hooks/$hook_name" ] ; then |
|
|
|
|
debug "Invoking hook: $hook_name" |
|
|
|
|
"$YADM_DIR/hooks/$hook_name" |
|
|
|
|
if [ -x "$hook_command" ] ; then |
|
|
|
|
debug "Invoking hook: $hook_command" |
|
|
|
|
"$hook_command" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|