tmux-fingers/.git-hooks/pre-push

30 lines
943 B
Bash
Executable File

#!/usr/bin/env bash
current_branch=$(git rev-parse --abbrev-ref HEAD)
if [[ ${current_branch} != "master" ]]; then
exit 0
fi
echo "Pushing to master? Let me run some pre-push hooks ..."
grep_debug='git grep -n "debug.sh" -- *.sh'
grep_log_calls='git grep -n "log " -- *.sh'
WHITE_LIST_SCRIPTS="^(\\.git-hooks)"
include_debug_count=$(eval "$grep_debug" | grep -v $WHITE_LIST_SCRIPTS | wc -l)
log_calls_count=$(eval "$grep_log_calls" | grep -v $WHITE_LIST_SCRIPTS | wc -l)
if [[ $((include_debug_count + log_calls_count)) -gt 1 ]]; then
echo "Remove debug traces!"
echo ""
eval "$grep_debug" > /dev/stdout
eval "$grep_log_calls" > /dev/stdout
exit 1
fi
# TODO for some reason, tests fail when ran from pre-push hook ( WTF? )
if [[ -z $I_ASSURE_YOU_TESTS_ARE_PASSING ]]; then
echo ""
echo "Run ./test/run.sh before pushing to master. Then set I_ASSURE_YOU_TESTS_ARE_PASSING variable to bypass this" | fold -sw 80
exit 1
fi