miércoles, 27 de agosto de 2014

Git zippatch, creando un nuevo comando.



Podemos obtener a través del comando git archive, una copia de nuestro repositorio en un zip.
Esto es genial.

Ahora , vamos a rizar el rizo, un poquito.

Tenemos una conexión a un ftp que tiene nuestra web. Por desgracia, no tenemos git para poder aplicar los parches, y tampoco es un repositorio, por lo tanto, lo único que nos queda es subir los ficheros que hemos modificado/creado desde nuestro repositorio.

Una de las cosas que odiamos los programadores es perder el tiempo en cosas banales.
No me dirás que subir 40 ficheros en diferentes rutas es una tarea agradable, si es así, este post no es para tí. ;-)

La solución sería que alguna cosa que creará un zip con solamente los cambios de la rama donde estemos, y con la misma estructura de directorios.

Git es una caja de sorpresas, en un par de pasos;

1) Creamos un fichero, zippatch.sh, ;
     git archive -o update.zip HEAD $(git diff --name-only HEAD^) -v
     y lo colocamos , en el repositorio o en una ruta que este en el PATH del sistema, por ejemplo, en /git/bin/

2) En nuestro .gitconfig global, creamos un nuevo alias;
[alias]
        zippatch = "!sh zippatch.sh"

Eso es todo. Ahora desde la linea de comando, ejecutamos, podemos ver algo como;

$git zippath 
file.c
dir1/
dir1/readme.MD

Esto nos creará un fichero llamado update.zip,  que contendrá SOLO los ficheros que se modificaron en el último commit. 



sábado, 16 de agosto de 2014

GitBlit. Nuestro github personal.


Hemos actualizado la versión GitBit de la 1.1.0 a la 1.6.0 y las mejoras son espectaculares.
https://dev.gitblit.com/

Podemos ver las mejoras en los siguientes puntos:

  • Mejora claridad en la portada.
  • Accesos directos a nuestros Marcadores, repositorio, actividad y Proyectos.
  • Tickets, que podemos gestionarlo como una rama de nuestro proyecto.
  • Fork de repositorios
  • Documentación a través de README.md , HOME.md
  • Reflujo.
La actualización a sido muy simple, manteniendo todos nuestros users y repositorios sin problemas,siguiendo las instrucciones;

Como nosotros tenemos un directorio diferente, lo único que hice fue apuntar directamente el directorio de trabajo y dejar el resto como estaba;
git.repositoriesFolder=/opt/gitRepos

Lo que más nos ha gustado, es que podemos abrir un ticket , y asociarlo a una rama, comentarlo, etc..
Para ello, se tiene que modificar el fichero de configuración, y determinar que tipo de sistema de tickets queremos más info en  https://dev.gitblit.com/doc/gitblit.git/master/src!site!tickets_overview.mkd






Android y Git. Disponer del hash automáticamente.

Una de las cosas a las que estoy acostumbrado, es tener siempre en mi código, el hash/tag/versión del control de versiones que estoy usan...