Files
worm/pre-commit
2025-06-21 20:49:17 +00:00

25 lines
822 B
Bash

#!/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