diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index 4cab7f2d97..0000000000 --- a/.gitconfig +++ /dev/null @@ -1,2 +0,0 @@ -[core] - whitespace = blank-at-eol,trailing-space,tab-in-indent diff --git a/hooks/pre-commit b/hooks/pre-commit index 44010fa1a0..bad84b14bd 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. -END - exit 1 -fi +# 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 -# 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. +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 + +# 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 fi