mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
27 lines
1 KiB
Bash
Executable file
27 lines
1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This hook verifies that the changes are formatted using clang-format.
|
|
# It has to be installed in:
|
|
# - .git/hooks/pre-commit for a root project
|
|
# - .git/modules/<submodule-name>/hooks/pre-commit for a submodule
|
|
|
|
if ! [ -x "$(command -v clang-format)" ]; then
|
|
echo "Pre commit hook: Please install clang-format (coding style checker) - could not find clang-format in PATH."
|
|
exit 1
|
|
fi
|
|
|
|
CHANGED_FILES="$(git diff --name-only --cached --diff-filter=ACMR | grep -E '\.(c|cc|cpp|h|hh)$')"
|
|
|
|
if [[ -n "$CHANGED_FILES" ]]; then
|
|
if ! clang-format --style=file -Werror -n $CHANGED_FILES > /dev/null 2>&1; then
|
|
echo "*****************"
|
|
echo ""
|
|
echo "Pre commit hook: Staged file(s) contains non correctly formatted code. Please correct it using one of the following:"
|
|
echo "1) Configure your IDE to format automatically on save (entire file)"
|
|
echo "2) Use clang-format to correctly format source code using:"
|
|
echo " clang-format --style=file -i <file-to-format>"
|
|
echo ""
|
|
echo "*** Aborting commit.***"
|
|
exit 1
|
|
fi
|
|
fi
|