Skip to content

Instantly share code, notes, and snippets.

@avolkov
Created December 7, 2012 15:53
Show Gist options
  • Save avolkov/4234129 to your computer and use it in GitHub Desktop.
Save avolkov/4234129 to your computer and use it in GitHub Desktop.

Revisions

  1. avolkov created this gist Dec 7, 2012.
    21 changes: 21 additions & 0 deletions pre-commit
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    #!/bin/sh

    ###
    # Strip whitespaces and convert to Unix newlines.
    # Source: http://stackoverflow.com/a/3516525/86294
    # Save this file into git config directory as .git/hooks/pre-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 -r 's/:[0-9]+:.*//' | uniq) ; do
    # Fix them!
    sed -i 's/[[:space:]]*$//' "$FILE"
    fromdos $FILE
    git add $FILE
    done