#!/bin/bash
# Das Script überprueft den git pull nach Dateien, die sowohl auf dem Server als auf im remote-repositoy geaendert wurden.
# Werden solche Dateien (Bilder) gefunden, werden diese gelöscht und ein erneuter git pull wird ausgefuehrt.

start1='error: Your local changes to the following files would be overwritten by merge:'
start2='error: The following untracked working tree files would be overwritten by merge:'
ende1='Please, commit your changes or stash them before you can merge.'
ende2='Please move or remove them before you can merge.'

echo "git pull wird ausgefuehrt..."

liste=$(git pull > gitpull.txt 2>&1)
while read line; do
    error=1
    echo "$line"

    if [ "$line" = "$ende1" ] || [ "$line" = "$ende2" ]
        then
            entfernen=0
    fi
    if [ "$entfernen" = 1 ]
        then
            geloescht=1
            rm "$line"
            echo "Die Datei $(tput setaf 2)$line$(tput sgr 0) wurde $(tput setaf 1)geloescht!$(tput sgr 0)"
    fi
    if [ "$line" = "$start1" ] || [ "$line" = "$start2" ]
        then
            entfernen=1
    fi
done < gitpull.txt

if [ "$geloescht" = 1 ]
    then
        echo $(tput setaf 2)"Alle überflüssigen Dateien wurden $(tput setaf 1)geloescht."$(tput sgr 0)
        echo $(tput setaf 3)"git pull erneut ausfuehren, um die Version auszurollen!"$(tput sgr 0)
        git pull
#    else
#        while read line; do
#            echo $line
#        done < gitpull.txt
fi
