20.07.2013 Views

Tesis Estudio Empírico de prácticas de desarrollo de software en ...

Tesis Estudio Empírico de prácticas de desarrollo de software en ...

Tesis Estudio Empírico de prácticas de desarrollo de software en ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

su repositorio. En este estudio, se analizará un repositorio “c<strong>en</strong>tral”. La nov<strong>en</strong>a<br />

promesa no aplica, por cuanto los datos ya se <strong>en</strong>cu<strong>en</strong>tran migrados a git.<br />

Con respecto a los peligros, se <strong>en</strong>umeran a continuación:<br />

1. La nom<strong>en</strong>clatura <strong>de</strong> git difiere <strong>de</strong> aquella empleada por los SCM c<strong>en</strong>tralizados:<br />

acciones similares ti<strong>en</strong><strong>en</strong> distintos comandos y comandos que compart<strong>en</strong><br />

el nombre pue<strong>de</strong>n t<strong>en</strong>er significados difer<strong>en</strong>tes.<br />

2. En git exist<strong>en</strong> ramas implícitas, que <strong>en</strong> SCM c<strong>en</strong>tralizados no exist<strong>en</strong>.<br />

3. En git no existe una línea principal <strong>de</strong> <strong>de</strong>sarrollo. La historia no es líneal,<br />

sino un grafo dirigido acíclico.<br />

4. Es posible reescribir la historia.<br />

5. No siempre es posible <strong>de</strong>terminar el orig<strong>en</strong> <strong>de</strong> una rama.<br />

6. No siempre es posible rastrear el orig<strong>en</strong> <strong>de</strong> una mezcla o incluso <strong>de</strong>terminar<br />

si hubo mezcla.<br />

7. Los datos asequibles pue<strong>de</strong>n cont<strong>en</strong>er sólo a los commits realizados <strong>en</strong> forma<br />

exitosa.<br />

En el primer caso se trata <strong>de</strong> una advert<strong>en</strong>cia, dado que la semántica <strong>de</strong> algunos<br />

comandos <strong>en</strong> git son distintos a otros. No obstante, dichas acciones ti<strong>en</strong><strong>en</strong> un mayor<br />

impacto <strong>en</strong> el usuario <strong>de</strong> SCM, mas no <strong>en</strong> qui<strong>en</strong> lo estudia. El punto <strong>de</strong> partida <strong>de</strong>l<br />

análisis <strong>de</strong> un repositorio es su historia, para lo cual es necesario interiorizarse <strong>en</strong><br />

su formato.<br />

Los peligros 2, 5 y 6 no aplican <strong>en</strong> este estudio, puesto que no se abordan las ramas<br />

<strong>de</strong> <strong>de</strong>sarrollo. Hay sufici<strong>en</strong>te material <strong>de</strong> estudio sigui<strong>en</strong>do el <strong>de</strong>sarrollo principal.<br />

No obstante, es importante t<strong>en</strong>er <strong>en</strong> m<strong>en</strong>te que el esfuerzo final, aunque pueda ser<br />

repres<strong>en</strong>tativo, no será completam<strong>en</strong>te preciso.<br />

El tercer peligro indicado es un riesgo controlado, dado que <strong>de</strong>p<strong>en</strong><strong>de</strong> más <strong>de</strong>l flujo<br />

<strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l proyecto que <strong>de</strong> la herrami<strong>en</strong>ta <strong>en</strong> sí. En el caso <strong>de</strong> GNOME, la<br />

línea principal <strong>de</strong> <strong>de</strong>sarrollo está dada por la rama principal <strong>en</strong> el repositorio c<strong>en</strong>tral;<br />

y <strong>en</strong> don<strong>de</strong> el repositorio c<strong>en</strong>tral es una conv<strong>en</strong>ción aceptada implícitam<strong>en</strong>te<br />

(se pue<strong>de</strong> revisar la figura 3.4).<br />

Con respecto al cuarto peligro, es un riesgo que se <strong>de</strong>be consi<strong>de</strong>rar al mom<strong>en</strong>to <strong>de</strong><br />

analizar los datos y esbozar las conclusiones. El hecho que la historia se escriba<br />

40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!