30 lines
943 B
Bash
Executable File
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
|