Skip to content

Instantly share code, notes, and snippets.

@blazingpair
Created July 8, 2012 07:13
Show Gist options
  • Save blazingpair/3069750 to your computer and use it in GitHub Desktop.
Save blazingpair/3069750 to your computer and use it in GitHub Desktop.
Automatically trim whitespace on git commit, save to .git/hooks/pre-commit
#!/bin/sh
if git rev-parse --verify HEAD >/dev/null 2>&1 ; then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
# Find files with trailing whitespace
(
IFS='
'
FILES=`exec git diff-index --check --cached $against -- | sed '/^[+-]/d' | sed -E 's/:[0-9]+:.*//' | uniq`
for FILE in $FILES ; do
echo Removing trailing whitespace in "$FILE"
sed -i '' -E 's/[[:space:]]*$//' "$FILE"
git add "$FILE"
done
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment