aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitconfig2
-rw-r--r--CMakeLists.txt7
-rw-r--r--hooks/pre-commit23
3 files changed, 32 insertions, 0 deletions
diff --git a/.gitconfig b/.gitconfig
new file mode 100644
index 00000000..4cab7f2d
--- /dev/null
+++ b/.gitconfig
@@ -0,0 +1,2 @@
+[core]
+ whitespace = blank-at-eol,trailing-space,tab-in-indent
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fc742317..d958dfc3 100644
--- a/CMakeLists.txt
+++ b/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")
diff --git a/hooks/pre-commit b/hooks/pre-commit
new file mode 100644
index 00000000..44010fa1
--- /dev/null
+++ b/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