33 lines
940 B
Bash
Executable File
33 lines
940 B
Bash
Executable File
#!/bin/sh
|
|
|
|
echo "[git-hook]: before commit, format code use astyle ..."
|
|
|
|
ASTYLE_PARAMETERS="--style=linux \
|
|
--indent=spaces=4 \
|
|
--indent-labels \
|
|
--min-conditional-indent=0 \
|
|
--max-instatement-indent=80 \
|
|
--pad-oper \
|
|
--pad-header \
|
|
--keep-one-line-blocks \
|
|
--keep-one-line-statements \
|
|
--convert-tabs\
|
|
--suffix=none"
|
|
|
|
if ! astyle --version 2>/dev/null; then
|
|
echo "astyle is missing, please install it: sudo apt-get install astyle"
|
|
exit 1
|
|
fi
|
|
|
|
format_file=$(find . -type f | grep -E "\.c$|\.h$")
|
|
astyle --quiet $ASTYLE_PARAMETERS $format_file
|
|
|
|
if git status -s | grep -q "^ M "; then
|
|
echo "[git-hook]: code changed after formating, please commit again."
|
|
git status
|
|
echo "if you have completed all file formatting but there are still files in the workspace "
|
|
echo "use --no-verify to skip hook"
|
|
exit 1
|
|
fi
|
|
|
|
echo "[git-hook]: nothing change after formating, commit continues." |