Created
March 4, 2021 21:46
-
-
Save SergLam/3fe8e76cea53dc052c5fc8b454930625 to your computer and use it in GitHub Desktop.
Git hooks - pre-commit check example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -eu | |
failed=0 | |
test_pattern='\b(fdescribe|fit|fcontext|xdescribe|xit|xcontext)\b' | |
if git diff-index -p -M --cached HEAD -- '*Tests.swift' '*Specs.swift' | grep '^+' | egrep "$test_pattern" >/dev/null 2>&1 | |
then | |
echo "COMMIT REJECTED for fdescribe/fit/fcontext/xdescribe/xit/xcontext." >&2 | |
echo "Remove focused and disabled tests before committing." >&2 | |
echo '----' >&2 | |
git grep -E "$test_pattern" '*Tests.swift' '*Specs.swift' >&2 | |
echo '----' >&2 | |
failed=1 | |
fi | |
misplaced_pattern='misplaced="YES"' | |
if git diff-index -p -M --cached HEAD -- '*.xib' '*.storyboard' | grep '^+' | egrep "$misplaced_pattern" >/dev/null 2>&1 | |
then | |
echo "COMMIT REJECTED for misplaced views. Correct them before committing." >&2 | |
echo '----' >&2 | |
git grep -E "$misplaced_pattern" '*.xib' '*.storyboard' >&2 | |
echo '----' >&2 | |
failed=1 | |
fi | |
exit $failed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment