| #!/bin/sh | |
| # Git pre-commit hook that runs multiple hooks specified in $HOOKS. | |
| # Make sure this script is executable. Bypass hooks with git commit --no-verify. | |
| # This file is inspired by a set of unofficial pre-commit hooks available | |
| # at github. | |
| # Link: https://github.com/githubbrowser/Pre-commit-hooks | |
| # Contact: David Martin, david.martin.mailbox@googlemail.com | |
| ########################################################### | |
| # SETTINGS: | |
| # pre-commit hooks to be executed. They should be in the same .git/hooks/ folder | |
| # as this script. Hooks should return 0 if successful and nonzero to cancel the | |
| # commit. They are executed in the order in which they are listed. | |
| ########################################################### | |
| HOOKS="scripts/git-hooks/pre-commit.hook scripts/git-hooks/pre-commit-invoke-python.hook" | |
| # exit on error | |
| set -e | |
| if [ "$GST_DISABLE_PRE_COMMIT_HOOKS" = "1" ] | |
| then | |
| echo "Pre-commits hooks disabled by env GST_DISABLE_PRE_COMMIT_HOOKS." | |
| exit 0 | |
| fi | |
| echo $PWD | |
| for hook in $HOOKS | |
| do | |
| echo "Running hook: $hook" | |
| # run hook if it exists | |
| # if it returns with nonzero exit with 1 and thus abort the commit | |
| if [ -f "$PWD/$hook" ]; then | |
| "$PWD/$hook" | |
| if [ $? != 0 ]; then | |
| exit 1 | |
| fi | |
| else | |
| echo "Error: file $hook not found." | |
| echo "Aborting commit. Make sure the hook is at $PWD/$hook and executable." | |
| echo "You can disable it by removing it from the list" | |
| echo "You can skip all pre-commit hooks with --no-verify (not recommended)." | |
| exit 1 | |
| fi | |
| done | |