Blame pre-commit

Packit 1244b8
## strip trailing whitespace
Packit 1244b8
for file in `git diff --check --cached | grep '^[^+-]' | grep -o '^.*[0-9]\+:'` ; do
Packit 1244b8
    file_name=`echo ${file} | grep -o '^[^:]\+'`
Packit 1244b8
    line_number=`echo ${file} | grep -oP '(?<=:)[0-9]+(?=:)'`
Packit 1244b8
    # I think the reason there are two sed commands here
Packit 1244b8
    # is that 'sed -i' is different on different systems.
Packit 1244b8
    # shoot me.
Packit 1244b8
    (sed -i "${line_number}s/\s*$//" "${file_name}" > /dev/null 2>&1 \
Packit 1244b8
        || sed -i '' -E "${line_number}s/\s*$//" "${file_name}")
Packit 1244b8
    git add ${file_name}
Packit 1244b8
    echo "Re-wrote ${file_name} to trim whitespace."
Packit 1244b8
done
Packit 1244b8
Packit 1244b8
## remove 'x' bit and apply kr style for source file
Packit 1244b8
for file in `git diff --cached  --name-only`; do
Packit 1244b8
    filename=$(basename "$file")
Packit 1244b8
    extension="${filename##*.}"
Packit 1244b8
    dir_name=$(dirname "$file")
Packit 1244b8
    if test "$extension" = "h" || test "$extension" = "c" || test "$extension" = "cpp"; then
Packit 1244b8
        # remove the 'x' bit for files
Packit 1244b8
        echo "remove 'x' for ${file}"
Packit 1244b8
        chmod -x ${file}
Packit 1244b8
    fi
Packit 1244b8
done
Packit 1244b8
Packit 1244b8
echo "****************************************************"
Packit 1244b8
echo "* applying coding style to the changed files, you can:"
Packit 1244b8
echo "*     a) [check ] it by 'git diff'"
Packit 1244b8
echo "*     b) [accept] it by 'git commit -a --amend'"
Packit 1244b8
echo "*     c) [reject] it by 'git reset --hard'"
Packit 1244b8
echo "****************************************************"