From 91ac9c069d429997848d34cad3f87649ef5a6cd5 Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Wed, 10 Jan 2018 19:06:42 -0800 Subject: Add test-only option to style.sh (#642) --- scripts/style.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'scripts/style.sh') diff --git a/scripts/style.sh b/scripts/style.sh index 3e12d5a..72f7520 100755 --- a/scripts/style.sh +++ b/scripts/style.sh @@ -21,16 +21,22 @@ # Commonly # ./scripts/style.sh master -set -euo pipefail - if [[ $(clang-format --version) != **"version 6"** ]]; then echo "Please upgrade to clang-format version 6." echo "If it's installed via homebrew you can run: brew upgrade clang-format" exit 1 fi +if [[ $# -gt 0 && "$1" = "test-only" ]]; then + test_only=true + options="-output-replacements-xml" +else + test_only=false + options="-i" +fi + ( - if [[ $# -gt 0 ]]; then + if [[ "$test_only" = false && $# -gt 0 ]]; then if git rev-parse "$1" -- >& /dev/null; then # Argument was a branch name show files changed since that branch git diff --name-only --relative "$1" @@ -59,4 +65,9 @@ fi # Format C-ish sources only \%\.(h|m|mm|cc)$% p -' | xargs clang-format -style=file -i +' | xargs clang-format -style=file $options | grep " /dev/null + +if [[ "$test_only" = true && $? -ne 1 ]]; then + echo "Proposed commit is not style compliant. Run scripts/style.sh and git add the result." + exit 1 +fi -- cgit v1.2.3