Skip to content

Instantly share code, notes, and snippets.

@Tsagadai
Created November 23, 2012 03:58
Show Gist options
  • Save Tsagadai/4133952 to your computer and use it in GitHub Desktop.
Save Tsagadai/4133952 to your computer and use it in GitHub Desktop.
A .git/hook for removing trailing whitespace from file before you commit
#!/bin/sh
# Trailing whitespace is a pain when it comes to maintaining git repos because
# it makes changes look more numerous than they really are. Get rid of all those
# trailing spaces and tabs with this handy git hook. Copy this file to your .git/hooks
# directory and you can rest easy knowing you aren't flooding your repository with
# lines of trailing whitespace changes.
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
for FILE in `exec git diff-index --check --cached $against -- | sed '/^[+-]/d' | sed -r 's/:[0-9]+:.*//' | uniq` ; do
# Fix them!
sed -i 's/[[:space:]]*$//' "$FILE"
done
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment