aboutsummaryrefslogtreecommitdiffhomepage
path: root/hooks
diff options
context:
space:
mode:
authorEmmanuel Gil Peyrot <[email protected]>2016-09-18 00:59:46 +0900
committerEmmanuel Gil Peyrot <[email protected]>2016-09-18 09:36:57 +0900
commit491f5bab88b67926a3ccf72c1c35527071a93a9b (patch)
treef36c3bb748c0eb6db9a7414434c6ed7c246855d4 /hooks
parentbfc454e951afcb5a573b4f7d75e94d10e785ed45 (diff)
downloadyuzu-mainline-491f5bab88b67926a3ccf72c1c35527071a93a9b.tar.gz
yuzu-mainline-491f5bab88b67926a3ccf72c1c35527071a93a9b.zip
Git hook: Import Dolphin’s clang-format hook.
Diffstat (limited to 'hooks')
-rwxr-xr-xhooks/pre-commit19
1 files changed, 18 insertions, 1 deletions
diff --git a/hooks/pre-commit b/hooks/pre-commit
index c100bb634..ee818b566 100755
--- a/hooks/pre-commit
+++ b/hooks/pre-commit
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Enforce citra's whitespace policy
git config --local core.whitespace tab-in-indent,trailing-space
@@ -24,3 +24,20 @@ If you know what you are doing, you can try 'git commit --no-verify' to bypass t
END
exit 1
fi
+
+for f in $(git diff --name-only --diff-filter=ACMRTUXB --cached); do
+ if ! echo "$f" | egrep -q "[.](cpp|h)$"; then
+ continue
+ fi
+ if ! echo "$f" | egrep -q "^src/"; then
+ continue
+ fi
+ d=$(diff -u "$f" <(clang-format "$f"))
+ if ! [ -z "$d" ]; then
+ echo "!!! $f not compliant to coding style, here is the fix:"
+ echo "$d"
+ fail=1
+ fi
+done
+
+exit "$fail"