#!/usr/bin/env bash

#    Copyright 2020 Couchbase, Inc.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

PROJECT_ROOT="$( cd "$(dirname "$0"/..)" >/dev/null 2>&1 ; pwd -P )"

CB_GIT_CLANG_FORMAT=${CB_GIT_CLANG_FORMAT:-git-clang-format}
CB_CLANG_FORMAT=${CB_CLANG_FORMAT:-$(which clang-format)}

set -euo pipefail
IFS=$'\n\t'

format_diff="$(${CB_GIT_CLANG_FORMAT} --binary ${CB_CLANG_FORMAT} --diff --commit HEAD^)"

if [ "$format_diff" == "clang-format did not modify any files" ] || \
   [ "$format_diff" == "no modified files to format" ]
then
    echo "clang-format did not suggest any changes"
    exit 0
else
    echo "clang-format suggested the following changes:"
    echo ""
    echo "$format_diff"
    exit 1
fi
