diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-06-21 23:21:02 +0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-06-21 23:21:02 +0200 |
commit | 772ef097ead8d6be77cf00d753e8380fcac96710 (patch) | |
tree | 70e74daf5c9d3159550c36367959727b224c8bb5 | |
parent | AppVeyor: update WinSCP download link with one that should never expire (diff) | |
parent | enforce config from hook (diff) | |
download | yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.tar yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.tar.gz yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.tar.bz2 yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.tar.lz yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.tar.xz yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.tar.zst yuzu-772ef097ead8d6be77cf00d753e8380fcac96710.zip |
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rw-r--r-- | hooks/pre-commit | 24 |
2 files changed, 31 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 75f519a1d..6805ebed8 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 000000000..bad84b14b --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,24 @@ +#!/bin/sh + +# 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 +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 |