#!/bin/sh
#     Copyright 2025, Kay Hayen, mailto:kay.hayen@gmail.com find license text at end of file

# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments.  The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "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

# Redirect output to stderr.
exec 1>&2

files=$(git diff --cached --name-only $against)

if [ -z "$files" ]
then
    exit 0
fi

# Autoformat the files.
if [ "$COMMIT_UNCHECKED" != "1" ]
then
    OPTIONS="--from-commit --assume-yes-for-downloads"

    if [ -f "bin/autoformat-nuitka-source" ]
    then
        exec ./bin/autoformat-nuitka-source $OPTIONS
    else
        exec python -m pipenv run python Nuitka-develop/bin/autoformat-nuitka-source $OPTIONS
    fi
fi

#     Part of "Nuitka", an optimizing Python compiler that is compatible and
#     integrates with CPython, but also works on its own.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.
