Created
November 23, 2012 03:58
-
-
Save Tsagadai/4133952 to your computer and use it in GitHub Desktop.
A .git/hook for removing trailing whitespace from file before you commit
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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