diff options
Diffstat (limited to 'hooks/pre-commit')
-rw-r--r-- | hooks/pre-commit | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/hooks/pre-commit b/hooks/pre-commit index 44010fa1a..bad84b14b 100644 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -1,23 +1,24 @@ #!/bin/sh -#check the config, in case the user really wants to allow tabs... -allowtabs=$(git config hooks.allowtabs) -if [ "$allowtabs" != "true" ] && - git diff --cached | egrep '^\+.* ' -then - cat<<END; -Error: This commit would contain a tab, which is against this repo's policy. +# Enforce citra's whitespace policy +git config --local core.whitespace tab-in-indent,trailing-space + +# If there are whitespace errors, print the offending file names and fail. +if ! git diff --cached --check; then + cat<<END; + +Error: This commit would contain trailing spaces or tabs, which is against this repo's policy. +Please correct those issues before commiting. (Use 'git diff --check' for more details) +If you know what you are doing, you can try 'git commit --no-verify' to bypass the check END - exit 1 + exit 1 fi -# If there are whitespace errors, print the offending file names and fail. -if -# Use git built-in checks for trailing whitespaces - ! git diff --check --cached -then - cat<<END; -Error: This commit would contain trailing spaces, which is against this repo's policy. +# Check for tabs, since tab-in-indent catches only those at the beginning of a line +if git diff --cached | egrep '^\+.* '; then + cat<<END; +Error: This commit would contain a tab, which is against this repo's policy. +If you know what you are doing, you can try 'git commit --no-verify' to bypass the check. END - exit 1 + exit 1 fi |