blob: 2525259e9dd83596fc8fd6ec90290d479a198bbe [file] [log] [blame] [edit]
#!/bin/bash
set -o errexit
# When we are running on travis and *not* part of a pull request we don't
# have any upstream branch to compare against.
if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
echo "Skipping since not running on travis PR"
exit 0
fi
if [ -n "$TRAVIS_BRANCH" ]; then
BRANCH=$TRAVIS_BRANCH
else
BRANCH=origin/master
fi
MERGE_BASE=$(git merge-base $BRANCH HEAD)
FORMAT_MSG=$(git clang-format $MERGE_BASE -q --diff -- src/)
if [ -n "$FORMAT_MSG" -a "$FORMAT_MSG" != "no modified files to format" ]
then
echo "Please run git clang-format before committing, or apply this diff:"
echo
# Run git clang-format again, this time without capruting stdout. This way
# clang-format format the message nicely and add color.
git clang-format $MERGE_BASE -q --diff -- src/
exit 1
fi