aboutsummaryrefslogtreecommitdiff
path: root/Tools/pre-commit
blob: db5863d3eb05e98cf6c732db203666acb5ce12b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
echo "hello world"

if git rev-parse --verify HEAD >/dev/null 2>&1
then
  against=HEAD
else
  # Initial commit: diff against an empty tree object
  against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi

# Redirect output to stderr.
exec 1>&2

CHANGED_FILES=`git diff --cached --name-only --diff-filter=ACM $against | grep '\.c\|\.cpp\|\.h\|\.hpp'`
FAILED=0
if [ ! -z "$CHANGED_FILES" -a "$CHANGED_FILES" != " " ]; then
  echo $CHANGED_FILES
  for FILE in $CHANGED_FILES; do
    ./Tools/fix_code_style.sh --quiet < $FILE > $FILE.pretty
    diff -u $FILE $FILE.pretty || FAILED=1
    rm -f $FILE.pretty
    if [ $FAILED -ne 0 ]; then
      echo "There are code formatting errors. Please fix them by running ./Tools/fix_code_style.sh $FILE"
      exit $FAILED
    fi
  done
fi
exit 0