#!/usr/bin/env bash # git 1.9.0+ allows for exclusions in pathspecs via ':!foo' syntax. # However, until git 2.13.0 there must be at least one "inclusive" pathspec, hence the './*' trailing_whitespace=$(git grep -E -n -- ' +$' -- './*' ':!*.png') if [[ -n "$trailing_whitespace" ]]; then printf "ERROR: Trailing whitespaces:\n" awk 'BEGIN {FS=":"} {printf " * %s:%s\n", $1, $2}' <<< "$trailing_whitespace" exit 1 fi