From e266e43e6e5d20d6e6e8d774aa6ea742844c94cc Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 17 Jun 2015 14:47:21 +0200 Subject: [PATCH] .git-pre-commit: quit gracefully if clang-format is not found instead of erroring --- .git-pre-commit | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.git-pre-commit b/.git-pre-commit index c0fb0bd9b..69a71bea9 100755 --- a/.git-pre-commit +++ b/.git-pre-commit @@ -22,7 +22,7 @@ function git-clang-format-diffing { format_diff_options="--style=file" #only diffing commited files, ignored staged one - $format_diff $format_diff_options --diff $(git --no-pager diff --cached --name-only) > git-clang-format.diff + $format_diff $format_diff_options --diff $(git --no-pager diff --cached --name-status | grep -v '^D' | cut -f2) > git-clang-format.diff if ! grep -q -E '(no modified files to format|clang-format did not modify any files)' git-clang-format.diff; then invalid-format-detected "git apply git-clang-format.diff" "clang-format $format_diff_options -i " @@ -39,12 +39,13 @@ function clang-format-diff-diffing { fi } +set -e if which git-clang-format &>/dev/null; then git-clang-format-diffing $@ elif [ ! -z "$(find /usr/bin/ /usr/local/bin/ /opt/bin/ -name 'clang-format-diff*' -type f 2>/dev/null)" ]; then # Warning! We need at least version 1.6... clang-format-diff-diffing $@ else - echo "$0: Please install clang-format (coding style checker) - could not find git-clang-format nor clang-format-diff in PATH." - exit 1 + echo "$0: Please install clang-format (coding style checker) - could not find git-clang-format nor clang-format-diff in PATH. Skipping code verification..." + exit 0 fi