Răsfoiți Sursa

force no-tab/trailing spaces with git hook

Remove unneeded stuff from pre-commit script

The check against an empty commit was not needed (it is only a security for the 1st commit after git init).
It could also possibly pose problems because of the redirection to /dev/null on some windows systems.

newline at EOF & fixed indent
Lectem 11 ani în urmă
părinte
comite
85183a702a
3 a modificat fișierele cu 32 adăugiri și 0 ștergeri
  1. 2 0
      .gitconfig
  2. 7 0
      CMakeLists.txt
  3. 23 0
      hooks/pre-commit

+ 2 - 0
.gitconfig

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

+ 7 - 0
CMakeLists.txt

@@ -4,6 +4,13 @@ cmake_minimum_required(VERSION 2.8.11)
 
 project(citra)
 
+if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git/hooks/pre-commit)
+    message(STATUS "Copying pre-commit hook")
+    file(COPY hooks/pre-commit
+        DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/.git/hooks
+        FILE_PERMISSIONS WORLD_EXECUTE )
+endif()
+
 if (NOT MSVC)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes -pthread")
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")

+ 23 - 0
hooks/pre-commit

@@ -0,0 +1,23 @@
+#!/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
+
+# 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.
+END
+  exit 1
+fi