46 lines
1.4 KiB
Bash
46 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Bitte Repository-URL als Parameter angeben."
|
|
echo "Beispiel: ./checkout.sh https://git.rpi-virtuell.de/Comenius-Institut/FOERBICO.git"
|
|
echo "Hinweis: bei einigen URLs muss der Benutzername und das Passwort in der URL enthalten sein."
|
|
echo "Beispiel: checkout.sh https://username:passwort@git.rpi-virtuell.de/Comenius-Institut/geschuetztes_repo.git"
|
|
exit 1
|
|
fi
|
|
|
|
REPO_URL=$1
|
|
|
|
# Extrahiere den Repository-Namen korrekt aus der URL
|
|
REPO_NAME=$(basename "$REPO_URL" .git)
|
|
|
|
echo "Klone Repository: $REPO_URL in Ordner: $REPO_NAME"
|
|
|
|
# Überprüfe, ob das Verzeichnis bereits existiert
|
|
if [ -d "$REPO_NAME" ]; then
|
|
echo "Verzeichnis $REPO_NAME existiert bereits. Lösche es..."
|
|
rm -rf "$REPO_NAME"
|
|
if [ $? -ne 0 ]; then
|
|
echo "Fehler beim Löschen des Verzeichnisses."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Vollständiges Klonen des Repositories
|
|
git clone "$REPO_URL"
|
|
if [ $? -ne 0 ]; then
|
|
echo "Fehler beim Klonen des Repositories."
|
|
exit 1
|
|
fi
|
|
|
|
cd "$REPO_NAME"
|
|
|
|
echo "Entferne alle Binärdateien..."
|
|
|
|
# Entferne Binärdateien aus dem Arbeitsverzeichnis
|
|
for ext in JPG jpg jpeg png gif webp mp4 mov avi mkv mp3 wav ogg zip tar; do
|
|
echo "Entferne Dateien mit Endung: $ext"
|
|
find . -name "*.$ext" -type f -delete
|
|
done
|
|
|
|
echo "Repository erfolgreich geklont und Binärdateien entfernt."
|
|
echo "Repository-Verzeichnis: $REPO_NAME"
|