swh:1:snp:6088ab52ef49920e01e3f334cdf4d5d6c8a822b9
Raw File
Tip revision: c10d4580097106896258d4955b5887e7e0d4f108 authored by Dmitri Naumov on 01 October 2021, 19:31:42 UTC
[T/TH2M] Liakopoulos; slightly relax vtkdiff tol.
Tip revision: c10d458
pre-commit
#!/usr/bin/env bash

# Activate via the following setting in .git/config
# [core]
#    hooksPath = .hooks
#
# **Or** by copying this file to .git/hooks/pre-commit

echo "Running pre-commit hook.."

set -e

RETURN_CODE=0

### git-lfs check ###
BINARY_FILES=""
CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACM)
LFS_FILES=$(echo $CHANGED_FILES | xargs git check-attr filter | grep 'filter: lfs$' | sed -e 's/: filter: lfs//')

for FILE in $LFS_FILES; do
    SOFT_SHA=$(git hash-object -w $FILE)
    RAW_SHA=$(git hash-object -w --no-filters $FILE)

    if [ $SOFT_SHA == $RAW_SHA ]; then
        BINARY_FILES="$FILE\n$BINARY_FILES"
    fi
done

if [[ -n "$BINARY_FILES" ]]; then
    echo "Attention!"
    echo "----------"
    echo "You tried to commit files tracked by git-lfs as standard git objects:"
    echo -e "\x1B[31m$BINARY_FILES\x1B[0m"
    echo "Revert your changes and commit those files with git-lfs!"
    echo "See https://docs.opengeosys.org/docs/devguide/getting-started/prerequisites"
    echo "----------"
    RETURN_CODE=1
fi

exit $RETURN_CODE
back to top