Split interactive and non interactive parts of hooks execution

This commit is contained in:
Jérémy Lecour 2019-03-12 22:49:27 +01:00 committed by Jérémy Lecour
parent e0a75db015
commit 0a6a45066d

View file

@ -397,15 +397,15 @@ if [ "${DRY_RUN}" != "1" ]; then
hook_log
fi
# Commit hook
if [ "${INTERACTIVE}" = "1" ]; then
# Commit hook
if [ -n "${GIT_STATUSES}" ] && [ "${HOOK_COMMIT}" = "1" ]; then
printf "/!\ There are some uncommited changes.\n%s\n\n" "${GIT_STATUSES}"
y="Y"; n="n"
answer=""
while true; do
printf "> Do you want to commit the changes? [%s] " "${y}${n}"
printf "> Do you want to commit the changes? [%s] " "${y},${n}"
read -r answer
case $answer in
[Yy] )
@ -427,46 +427,8 @@ if [ "${INTERACTIVE}" = "1" ]; then
esac
done
fi
elif [ "${HOOK_COMMIT}" = "1" ]; then
hook_commit
fi
# Database hook
if [ "${INTERACTIVE}" = "1" ]; then
if [ "${HOOK_DB}" = "1" ]; then
y="Y"; n="n"
else
y="y"; n="N"
fi
answer=""
while true; do
printf "> Do you want to insert your message into the database? [%s] " "${y}${n}"
read -r answer
case $answer in
[Yy] )
hook_db;
break
;;
[Nn] )
break
;;
"" )
if [ "${HOOK_DB}" = "1" ]; then
hook_db
fi
break
;;
* )
echo "answer with a valid choice"
;;
esac
done
elif [ "${HOOK_DB}" = "1" ]; then
hook_db
fi
# Mail hook
if [ "${INTERACTIVE}" = "1" ]; then
# Mail hook
if [ "${HOOK_MAIL}" = "1" ]; then
y="Y"; n="n"
else
@ -474,7 +436,7 @@ if [ "${INTERACTIVE}" = "1" ]; then
fi
answer=""
while true; do
printf "> Do you want to send an email to <%s>? [%s] " "${EVOMAINTMAIL}" "${y}${n}e"
printf "> Do you want to send an email to <%s>? [%s] " "${EVOMAINTMAIL}" "${y},${n},e"
read -r answer
case $answer in
[Yy] )
@ -502,8 +464,46 @@ if [ "${INTERACTIVE}" = "1" ]; then
;;
esac
done
elif [ "${HOOK_MAIL}" = "1" ]; then
hook_mail
# Database hook
if [ "${HOOK_DB}" = "1" ]; then
y="Y"; n="n"
else
y="y"; n="N"
fi
answer=""
while true; do
printf "> Do you want to insert your message into the database? [%s] " "${y},${n}"
read -r answer
case $answer in
[Yy] )
hook_db;
break
;;
[Nn] )
break
;;
"" )
if [ "${HOOK_DB}" = "1" ]; then
hook_db
fi
break
;;
* )
echo "answer with a valid choice"
;;
esac
done
else
if [ "${HOOK_COMMIT}" = "1" ]; then
hook_commit
fi
if [ "${HOOK_MAIL}" = "1" ]; then
hook_mail
fi
if [ "${HOOK_DB}" = "1" ]; then
hook_db
fi
fi
exit 0