Skip to content

Instantly share code, notes, and snippets.

@Abizern
Created March 12, 2012 19:00
Show Gist options
  • Save Abizern/2023981 to your computer and use it in GitHub Desktop.
Save Abizern/2023981 to your computer and use it in GitHub Desktop.
pre-commit
#!/usr/bin/env sh
# Tidy up whitespace on commit.
# By-pass it with the --no-verify option to git commit
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 -E 's/:[0-9]+:.*//' | uniq` ; do
# Fix them!
sed -i '' -E 's/[[:space:]]*$//' "$FILE"
git add "$FILE"
done
@Abizern
Copy link
Author

Abizern commented Mar 12, 2012

A pre-commit hook to tidy up whitespace before committing.

run : git commit --no-verify to skip running this hook.

I've got white space warnings turned off so I don't even know when Xcode is leaving in spaces.

Emacs is already set to clear whitespace on save so it's not an issue.

Save this file as pre-commit in the .git/hooksl directory (remember to chmod +x it to make it executable)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment