Merge pull request #839 from Lectem/whitespacepolicy
Enforce the "no tab, use spaces" policy with a pre-commit hook.
This commit is contained in:
commit
772ef097ea
2 changed files with 31 additions and 0 deletions
|
@ -4,6 +4,13 @@ cmake_minimum_required(VERSION 2.8.11)
|
||||||
|
|
||||||
project(citra)
|
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)
|
if (NOT MSVC)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes -pthread")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes -pthread")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
|
||||||
|
|
24
hooks/pre-commit
Normal file
24
hooks/pre-commit
Normal file
|
@ -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
|
Loading…
Reference in a new issue