Browse Source

format-check: Enable usage as pre-commit hook

This adds support for a switch `--pre-commit` to work in
pre-commit-mode. It downloads the file and runs the real pre-commit-hook
then.

Signed-off-by: Kai Krakow <kai@kaishome.de>
Kai Krakow 6 years ago
parent
commit
a8726e8959
1 changed files with 9 additions and 0 deletions
  1. 9 0
      scripts/format-check.sh

+ 9 - 0
scripts/format-check.sh

@@ -1,9 +1,18 @@
 #!/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:"