#!/bin/bash

ARCHIVE_DIR="Archiv"

git diff --cached --name-only | while read FILE
do
    if [[ "$FILE" =~ ^"$ARCHIVE_DIR"/ ]]; then
        if git rev-parse --verify --quiet HEAD:"$FILE" > /dev/null; then
            echo ""
            echo "----------------------------------------------------------------------"
            echo "FEHLER: Die Datei '$FILE' existiert bereits im Git-Archiv."
            echo "Es ist nicht erlaubt, vorhandene Dateien im '$ARCHIVE_DIR/'-Verzeichnis zu ändern oder neu hinzuzufügen."
            echo "Die Änderungen an '$FILE' werden nun verworfen."
            echo "----------------------------------------------------------------------"
            echo ""

            git restore --staged "$FILE"
            git restore "$FILE"

            exit 1
        fi
    fi
done

exit 0