diff options
Diffstat (limited to 'script/git-hooks')
-rwxr-xr-x | script/git-hooks/check-trailing-whitespace | 17 | ||||
-rwxr-xr-x | script/git-hooks/pre-commit-hook | 17 | ||||
-rwxr-xr-x | script/git-hooks/pre-commit-script | 19 |
3 files changed, 53 insertions, 0 deletions
diff --git a/script/git-hooks/check-trailing-whitespace b/script/git-hooks/check-trailing-whitespace new file mode 100755 index 0000000..4dc1a6d --- /dev/null +++ b/script/git-hooks/check-trailing-whitespace @@ -0,0 +1,17 @@ +#!/bin/sh + +git diff-index --cached --check HEAD -- :/*.[ch] :/*.p[ylm] + +if [ $? != 0 ]; then + echo + echo "The commit failed because it seems to introduce trailing whitespace" + echo "into C, Perl, or Python code." + echo + echo "If you are sure you want to do this, repeat the commit with the " + echo "--no-verify, like this:" + echo + echo " git commit --no-verify" + exit 1 +fi + +exit 0 diff --git a/script/git-hooks/pre-commit-hook b/script/git-hooks/pre-commit-hook new file mode 100755 index 0000000..1bcb000 --- /dev/null +++ b/script/git-hooks/pre-commit-hook @@ -0,0 +1,17 @@ +#!/bin/sh + +set -eu + +gitdir=$(git rev-parse --show-toplevel) +if [ $? -ne 0 ]; then + echo "git rev-parse --show-toplevel failed" + exit 1 +fi + +if [ ! -f ${gitdir}/script/git-hooks/pre-commit-script ]; then + exit 0 +fi + +${gitdir}/script/git-hooks/pre-commit-script || exit $? + +exit 0 diff --git a/script/git-hooks/pre-commit-script b/script/git-hooks/pre-commit-script new file mode 100755 index 0000000..8adb01c --- /dev/null +++ b/script/git-hooks/pre-commit-script @@ -0,0 +1,19 @@ +#!/bin/sh + +set -eu + +# +# make emacs/magit work, cf +# https://github.com/magit/magit/issues/3419 +# +unset GIT_LITERAL_PATHSPECS + +gitdir=$(git rev-parse --show-toplevel) +if [ $? -ne 0 ]; then + echo "git rev-parse --show-toplevel failed" + exit 1 +fi + +${gitdir}/script/git-hooks/check-trailing-whitespace || exit $? + +exit 0 |