Cargando...

Evitar un die() en nuestro repositorio

Si en algún momento, trabajando con PHP, tuviste necesidad de interrumpir un script para hacer un debug, utilizando die, es posible que al hacer la corrección se te hubiera pasado quitarlo.

Y seguramente dos o tres horas después pusiste cara de what al saber que el sistema no funciona.

Partiremos que somos programadores serios y por lo tanto nuestro código vive en su respectivo repositorio de git.

Como queremos evitar que se nos vaya un die en el código que vamos a loguear, hay que hacer un script que se ejecute justo antes de hacer un commit:

#!/bin/sh if git-rev-parse --verify HEAD >/dev/null 2>&1; then against=HEAD else against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 fi for FILE in `git diff-index --check --name-status $against -- | cut -c3-` ; do # Revisemos que no se vaya ningun die() if [ "grep 'die();' $FILE" ] then echo $FILE ' cuidado, puedes tirar la applicación!' exit 1 fi done

Este script tiene un pequeño truco: el hash inicial de cualquier repositorio git.

Si, al hacer git init, git crea nuestro repo desde una plantilla alojada en git, que, por tanto, tiene su HEAD, y es ese identificador en el código.

Así que este script, básicamente hace una comparación entre el contenido del commit anterior y el actual, para revisar que archivos hemos editado y sobre cada uno de ellos buscar die(); y hacernos un aviso deteniendo el commit y así evitando la catástrofe.

Quieres saber más de git?
Contáctame: ivan.miranda{arroba}sincco.com