Neu nach Konsultation von chatGPT

This commit is contained in:
2025-06-25 12:47:19 +02:00
parent b495268073
commit 8e6b57abc3
5 changed files with 148 additions and 157 deletions

33
pre-commit Normal file → Executable file
View File

@ -1,25 +1,18 @@
#!/bin/bash
LOGFILE="archiv.log"
ARCHIVE_DIR="Archiv"
log() {
local TIMESTAMP
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "[$TIMESTAMP] $1" >> "$LOGFILE"
}
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 ""
# Überprüfe auf Löschungen oder Modifikationen in Archiv
problem=$(git diff --cached --name-status | grep -E '^[MD]\s+Archiv/' || true)
git restore --staged "$FILE"
git restore "$FILE"
if [[ -n "$problem" ]]; then
log "⛔️ Commit blockiert: Änderung oder Löschung in Archiv: $problem"
echo "⛔️ Fehler: Dateien im Archiv dürfen nicht gelöscht oder verändert werden!"
exit 1
fi
exit 1
fi
fi
done
exit 0