#!/bin/sh #echo "Pre-commit hook" >> ./pre-commit.log 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 # echo "$FILE whitespace cleaned" >> ./pre-commit.log # Fix them! sed -i 's/[[:space:]]*$//' "$FILE" # sed replaces CRLF to LF, as we are on Windows, we want CRLF back done for FILE in `exec git diff --cached --name-only $against`; do # echo "$FILE dos2unixed" >> ./pre-commit.log dos2unix -D "$FILE" # remove if you're not on Windows git add "$FILE" done exit