#!/bin/bash
clear
echo "Iniciando geracao de pacote para atualizacao"
data=`date +%d.%m.%Y.%H%mhs`

# recupera a versao atual
from=`svnversion`
# remove o 'M' da versao caso tiver
from=${from/M/}
from=`expr $from + 1`
echo "Revisao atual: $from"

echo "Executando svn update"
svn update > update.log
# recupera a revisao apos atualizar
to=`svnversion`
# remove o M da revisao atual
to=${to/M/}
echo "Atualizado para revisao: $to"

# se nao precisar atualizar ele aborta o script
if [ $from -eq $to ]; then
    echo "Sem necessidade de atualizar."
    exit
fi

# cria um nome para o pacote
file_zip="update-$from-to-$to-$data.zip"
echo "Pacote que sera gerado: $file_zip"

# O arquivo de log que sera analisado (resuldado de um svn update)
file_log="update.log"

echo "Lendo arquivo com o log gerado pelo svn update"
data=`cat $file_log`

# Possibilidades validas: A, D e U
last_line=""

for i in $data
do
    if [ -e $i ]; then
        if [ $last_line = "D" ]; then
            echo  "Lixo: $i"
        else
           if [ ! -d $i ]; then
                echo "    Adicionando linha ao zip: $i"
                zip -r updates/$file_zip $i > /dev/null
           fi
        fi
    fi

    last_line=$i

done

echo "Apagando update.log"
rm update.log

