Uso gerrit

=Primer Login=

Al loguearse por primera vez se debe configurar el correo del usuario, clave ssh y contraseña HTTP

La contraseña que sirve para loguearse sólo sirve para loguearse, no es la misma que sirve para clonar y pushear.


 * Cómo configurar los datos del usuario:
 * Ir a Settings > Contact Information para configurar el correo.
 * Ir a Settings > SSH Public Keys > Add Key para configurar la clave pública del usuario.
 * Ir a Settings > HTTP Password para configurar la contraseña del usuario, ésta es la que se utiliza para clonar y hacer push.

Antes de empezar a usar el gerrit, es necesario también instalar el paquete git-review: sudo apt-get install git-review


 * Asegurarse de tener (crear uno nuevo si no se tiene) este archivo en el home:

.config/git-review/git-review.conf

Con el contenido siguiente:

[gerrit] defaultremote = origin

=Clone y Push=

Proyecto de ejemplo: simple/json-converter

Para clonar ingresar al Gerrit Projects > List > simple/json-converter > Clone with commit-msg hook

Ejemplo: git clone ssh://myuser@servidor.del.gerrit:puerto/simple/android-app && scp -p -P 29418 myuser@servidor.del.gerrit:hooks/commit-msg android-app/.git/hooks/

Para hacer un push, se sigue el mismo ciclo ya bien conocido, primero hacer el git add y git commit.

git add --all git commit -m "mi mensaje del commit de prueba"

Y luego configurar el push para que se envie al gerrit y no al gitblit.

git-review -v

Los cambios se van a visualizar en la pestaña del gerrit All > Open

=Reviews=

Una vez hecho el push de un commit al gerrit, este debe pasar por un proceso de verificación.

Este proceso consiste en Revisar el codigo(Code-Review) y Verificar. Una vez hecho ambos pasos se puede enviar el código al repositorio.

En el gerrit actualmente existen dos etiquetas Code-Review y Verified

Estas etiquetas deben ser colocadas sobre el commit con un cierto puntaje(score) para que este pueda o no ser enviado al repositorio.


 * Code-Review: Tiene un score que va desde -2 a +2.


 * Verified: Tiene un score que va desde -1 a +1.

Un commit, sólo puede ser enviado al repositorio cuando este tenga un score de Code-Review +2 y Verified +1, cuando ocurre esto aparece el botón Submit que permite hacer el envio.

La explicación de los puntajes está en la siguiente Fuente

En el Gerrit de Sodep, cualquier usuario registrado puede dar estos puntajes.

=Verificar y Aprobar cambios=

Una vez pusheado un cambio en un proyecto, el usuario con los permisos necesarios puede aprobar el cambio para que sea mergeado en el repositorio git.

Dashboard
Entrar en el dashboard ALL o MY para ver el cambio haciendo click en el nombre del SUBJECT



Notar que en la parte derecha hay dos casillas CR: indica si ya se hizo un code review, y V: si ya se verificó.

Revisar
Una vez dentro de un nuevo commit, se pueden revisar uno por uno los archivos modificados, comenzando en el mensaje de commit.



Existe la posibilidad de agregar comentarios sobre los archivos como se ve en el ejemplo.



Verificar y Aprobar
Para aprobar un cambio, pulsar el botón REPLY.

Para que se pueda aprobar un cambio, necesita tener un puntaje de +2 en Code Review y +1 en Verified.

En este caso un mismo usuario puede poner ambos puntajes, puede darse el caso de que un usuario sólo pueda hacer uno de ellos.



Submit
Una vez que un cambio alcanza los puntajes necesarios, un usuario con el permiso necesario, puede enviar el cambio al repositorio GitBlit, usando el boton SUBMIT

Luego de haber hecho el submit, ya podemos ver en el repositorio Gitblit el cambio hecho, junto con la pequeña referencia de a que review corresponde. (En celeste).