diff options
| author | Rémi Verschelde | 2017-02-12 00:51:14 +0100 |
|---|---|---|
| committer | Rémi Verschelde | 2017-03-18 23:29:45 +0100 |
| commit | 9d2c0f6c6e2603fa36fb376f9b0ab7d7d02ff8c8 (patch) | |
| tree | 8634e96768c7622fde0caa0878922824276e473d /misc/hooks/pre-commit | |
| parent | 19f90b59d5aa6ed8c7a9efaae0565aa48f1bf6cb (diff) | |
| download | godot-9d2c0f6c6e2603fa36fb376f9b0ab7d7d02ff8c8.tar.gz godot-9d2c0f6c6e2603fa36fb376f9b0ab7d7d02ff8c8.tar.zst godot-9d2c0f6c6e2603fa36fb376f9b0ab7d7d02ff8c8.zip | |
clang-format: Add pre-commit hook
Derived from https://github.com/githubbrowser/Pre-commit-hooks
and https://gitlab.cern.ch/GeantV/geant/blob/master/hooks/pre-commit-clang-format
(cherry picked from commit 0e4ee5935a000f5d6de63d3c8ad15e1baf80cd0e)
Diffstat (limited to 'misc/hooks/pre-commit')
| -rwxr-xr-x | misc/hooks/pre-commit | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/misc/hooks/pre-commit b/misc/hooks/pre-commit new file mode 100755 index 000000000..fc50ed70e --- /dev/null +++ b/misc/hooks/pre-commit @@ -0,0 +1,50 @@ +#!/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 part of 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 + + +########################################################### +# CONFIGURATION: +# 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="pre-commit-compile pre-commit-uncrustify" +HOOKS="pre-commit-clang-format" +########################################################### +# There should be no need to change anything below this line. + +. "$(dirname -- "$0")/canonicalize_filename.sh" + +# exit on error +set -e + +# Absolute path to this script, e.g. /home/user/bin/foo.sh +SCRIPT="$(canonicalize_filename "$0")" + +# Absolute path this script is in, thus /home/user/bin +SCRIPTPATH="$(dirname -- "$SCRIPT")" + + +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 "$SCRIPTPATH/$hook" ]; then + "$SCRIPTPATH/$hook" + if [ $? != 0 ]; then + exit 1 + fi + else + echo "Error: file $hook not found." + echo "Aborting commit. Make sure the hook is in $SCRIPTPATH and executable." + echo "You can disable it by removing it from the list in $SCRIPT." + echo "You can skip all pre-commit hooks with --no-verify (not recommended)." + exit 1 + fi +done |
