diff options
Diffstat (limited to 'scripts/pre-commit')
-rwxr-xr-x | scripts/pre-commit | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/pre-commit b/scripts/pre-commit new file mode 100755 index 0000000..b75ea9f --- /dev/null +++ b/scripts/pre-commit @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail + +if ! command -v git-clang-format &> /dev/null; then + echo "Please make sure git-clang-format is available." >&2 + exit 1 +fi + +output="$( git clang-format --style file --diff )" + +ok1='no modified files to format' +ok2='clang-format did not modify any files' + +if [ "$output" != "$ok1" ] && [ "$output" != "$ok2" ]; then + echo "$output" + echo + echo 'clang-format required some formatting fixes.' + echo 'Please stage your changes, run `git clang-format`, review the formatting fixes, and commit.' + exit 1 +fi |