Prechádzať zdrojové kódy

enforce config from hook

Lectem 11 rokov pred
rodič
commit
499171ca64
2 zmenil súbory, kde vykonal 17 pridanie a 18 odobranie
  1. 0 2
      .gitconfig
  2. 17 16
      hooks/pre-commit

+ 0 - 2
.gitconfig

@@ -1,2 +0,0 @@
-[core]
-    whitespace = blank-at-eol,trailing-space,tab-in-indent

+ 17 - 16
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