#!/bin/bash # Simple script to check for clang-format compliance # Ensure we are at the project root cd "$(dirname $0)"/.. wget -Nq https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/git-clang-format if chmod +x git-clang-format; then if [[ "$1" == "--pre-commit" ]]; then # used via .git/hooks/pre-commit: # exec "$(dirname $0)"/../../scripts/format-check.sh --pre-commit ./git-clang-format exit fi CLANG_FORMAT_OUTPUT=$(./git-clang-format HEAD^ HEAD --diff) if [[ ! ${CLANG_FORMAT_OUTPUT} == "no modified files to format" ]] && [[ ! -z ${CLANG_FORMAT_OUTPUT} ]]; then echo "Failed clang format check:" echo "${CLANG_FORMAT_OUTPUT}" exit 1 else echo "Passed clang format check" fi else echo "git-clang-format not downloaded" exit 1 fi