Crear archivo de diferencias entre tags en Git

calendario29/11/2011 reloj18:31 calendarioCategorías: Peripecias ComentarComentar

Hace algún tiempo que vengo utilizando GIT como control de versiones, y dado que empiezo a utilizarlo también a la hora de hacer despliegues en los servidores, necesitaba saber qué ficheros tenía que sobreescribir a la hora de hacer una actualización.
Por ello me puse a buscar, y di con este script que guardaba estos ficheros del HEAD en un fichero. En mi caso, a veces tengo que crear estos ficheros de diff’s entre dos tags, por lo que he modificado un poco el script original:

if [[ -n $1 ]]; then
    TAGhasta=$1
else
	echo "Opciones: "
	echo "$0 VERSION-desde"
	echo "$0 VERSION-desde VERSION-hasta"
    exit
fi

if [[ -n $2 ]]; then
	TAGdesde=$2
else
	TAGdesde='HEAD'
fi

echo "GIT diff:
=========
	+ Desde: $TAGdesde
	+ Hasta: $TAGhasta
	+ Archivo: diff-`date +%Y%m%d%H%M`.tar

Archivos incluidos: 
===================
`git diff $TAGhasta $TAGdesde --name-only`"
git archive -o diff-`date +%Y%m%d%H%M`.tar $TAGdesde `git diff $TAGhasta --name-only`

Y el funcionamiento es bastante intuitivo:

 patoroco : meent $ ./script.sh 1655af023224482fe36d0f2b4f6e731fe2385993 9a149fbc5f1bbf56a6cd675211299492d6d819cd 
GIT diff:
=========
	+ Desde: 9a149fbc5f1bbf56a6cd675211299492d6d819cd
	+ Hasta: 1655af023224482fe36d0f2b4f6e731fe2385993
	+ Archivo: diff-201111291816.tar

Archivos incluidos: 
===================
apiclass.php
apiserver.php
database.php
index.php
logging.php

TagsTags: ,

Comentarios