aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/scripts/pre-commit.sh
blob: fd1f7dd28c438cf524483659455211c0560360d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env bash

set -o errexit -o nounset -o pipefail
shopt -s inherit_errexit lastpipe

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 )" || true

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