12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #!/bin/sh
- # AUTHOR: supperthomas
- if git rev-parse --verify HEAD >/dev/null 2>&1
- then
- against=HEAD
- else
- # Initial commit: diff against an empty tree object
- against=$(git hash-object -t tree /dev/null)
- fi
- # We only filter the file name with c or cpp file.
- changed_files=$(git diff-index --cached $against | \
- grep -E '[MA] .*\.(c|cpp|cc|cxx)$' | cut -d' ' -f 2)
- if which cppcheck > /dev/null; then
- if [ -n "$changed_files" ]; then
- cppcheck --enable=warning,performance,portability --inline-suppr --error-exitcode=1 --platform=win64 --force $changed_files
- err=$?
- if [ $err -ne 0 ]; then
- echo "[rt-thread][cppcheck] we found a obvious fault, please fix the error then commit again"
- exit $err
- else
- echo "[rt-thread][cppcheck] cppcheck ok."
- fi
- fi
- else
- echo "cppcheck does not exist"
- fi
- # We only filter the file name with c or cpp or h file.
- # astyle only astyle the added file[because of code reivewer], if you want change modify file, please use [MA]
- changed_files=$(git diff-index --cached $against | \
- grep -E '[MA] .*\.(c|cpp|h)$' | cut -d' ' -f 2)
- if which astyle > /dev/null; then
- if [ -n "$changed_files" ]; then
- astyle --style=allman --indent=spaces=4 --indent=spaces=4 --indent=spaces=4 --pad-header --pad-header --pad-header --align-pointer=name --lineend=linux --convert-tabs --verbose $changed_files
- err=$?
- if [ $err -ne 0 ]; then
- echo "[rt-thread][astyle] we found a obvious fault, please fix the error then commit again"
- exit $err
- else
- echo "[rt-thread][astyle] astyle file ok"
- fi
- fi
- else
- echo "astyle does not exist"
- fi
- # We only filter the file name with c or cpp file.
- changed_files=$(git diff-index --cached $against | \
- grep -E '[MA] .*\.(c|cpp|h)$' | cut -d' ' -f 2)
- # formatting check
- # https://github.com/mysterywolf/formatting
- # formatting cmd ref https://github.com/supperthomas/git_auto_script
- if which formatting > /dev/null; then
- if [ -n "$changed_files" ]; then
- formatting $changed_files
- echo "[rt-thread] formatting $changed_files is ok"
- git add $changed_files
- exit 0
- fi
- else
- echo "formatting does not exist"
- fi
- exit 0
|