aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFintasticMan <finlay.neon.kid@gmail.com>2023-01-03 16:25:55 +0000
committerFintasticMan <finlay.neon.kid@gmail.com>2024-01-12 14:42:53 +0100
commitab8e267e2861f33750a1320bdcf39db03134dd1b (patch)
tree43cc7538df4a9b379f95e1e84e3754d5e8de226d
parentecf2f564f7a0884b6acdfdf5530abe2b98cb9aa9 (diff)
hook: Update pre-commit git hook
-rwxr-xr-xhooks/pre-commit27
1 files changed, 5 insertions, 22 deletions
diff --git a/hooks/pre-commit b/hooks/pre-commit
index 5e10aa19..9247f8a8 100755
--- a/hooks/pre-commit
+++ b/hooks/pre-commit
@@ -1,25 +1,8 @@
-#!/bin/bash
-if clang-format --version | grep -q 'version 11\.'; then
- CLANG_FORMAT_EXECUTABLE="clang-format"
-else
- CLANG_FORMAT_EXECUTABLE="clang-format-11"
-fi
+#!/bin/sh
-if ! command -v $CLANG_FORMAT_EXECUTABLE &> /dev/null
-then
- echo $CLANG_FORMAT_EXECUTABLE does not exist, make sure to install it
- exit 1
-fi
+changedFiles="$(git clang-format --extensions cpp,h --style file --staged -q --diffstat -- ':!src/FreeRTOS' ':!src/libs')"
+git clang-format --extensions cpp,h --style file --staged -q -- ':!src/FreeRTOS' ':!src/libs'
-for FILE in $(git diff --cached --name-only)
-do
- if [[ "$FILE" =~ src/[A-Za-z0-9\ \-]+*\.(c|h|cpp|cc)$ ]]; then
- echo Autoformatting $FILE with $CLANG_FORMAT_EXECUTABLE
- $CLANG_FORMAT_EXECUTABLE -style=file -i -- $FILE
- git add -- $FILE
- elif [[ "$FILE" =~ src/(components|displayapp|drivers|heartratetask|logging|systemtask)/.*\.(c|h|cpp|cc)$ ]]; then
- echo Autoformatting $FILE with $CLANG_FORMAT_EXECUTABLE
- $CLANG_FORMAT_EXECUTABLE -style=file -i -- $FILE
- git add -- $FILE
- fi
+echo "$changedFiles" | head -n -1 | cut -d ' ' -f 1 | while read -r file; do
+ git add -- "$file"
done