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.

En la copia local hay sufici<strong>en</strong>te información para sincronizarse contra el repositorio<br />

c<strong>en</strong>tral, y todas las operaciones <strong>de</strong> manejo se <strong>de</strong>b<strong>en</strong> aplican al repositorio principal.<br />

Por consigui<strong>en</strong>te, el <strong>de</strong>sarrollador <strong>de</strong>be t<strong>en</strong>er permisos <strong>de</strong> escritura <strong>en</strong> el repositorio<br />

remoto.<br />

2.3.4. Sistemas <strong>de</strong> control <strong>de</strong> versiones distribuidos<br />

Los sistema <strong>de</strong> versiones distribuidos se caracterizan por permitir que cada <strong>de</strong>sarrollador<br />

<strong>de</strong>l proyecto, al mom<strong>en</strong>to <strong>de</strong> obt<strong>en</strong>er una copia <strong>de</strong>l repositorio, obt<strong>en</strong>ga<br />

todos los meta-datos e historia <strong>de</strong>l proyecto. A partir <strong>de</strong> allí, dicho <strong>de</strong>sarrollador ya<br />

no <strong>de</strong>p<strong>en</strong><strong>de</strong> <strong>de</strong> la red para realizar las operaciones con el repositorio dado que se<br />

realizan <strong>en</strong> forma local, acelerando el trabajo <strong>de</strong>l <strong>de</strong>sarrollador.<br />

A<strong>de</strong>más, al disponer <strong>de</strong>l código y todos los meta-datos, cada copia es igual al orig<strong>en</strong><br />

y por lo tanto, cada <strong>de</strong>sarrollador manti<strong>en</strong>e un respaldo completo <strong>de</strong> un proyecto.<br />

Del mismo modo, es posible realizar operaciones <strong>en</strong>tre múltiples repositorios sin<br />

que ello se requiera acceso al repositorio “principal”.<br />

2.3.5. Terminología<br />

Para po<strong>de</strong>r consi<strong>de</strong>rar un estudio <strong>de</strong> un sistema <strong>de</strong> control <strong>de</strong> versiones o control<br />

<strong>de</strong> cambios es necesario conocer algunos términos básicos, sin necesidad <strong>de</strong> <strong>en</strong>trar<br />

<strong>en</strong> <strong>de</strong>talle <strong>de</strong> uso <strong>de</strong> tales sistemas. Existe una terminología que es básica, y es<br />

in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te <strong>de</strong>l sistema <strong>de</strong> control <strong>de</strong> versiones. Como lo indica Fogel[7], el<br />

problema es la administración <strong>de</strong> cambios.<br />

repositorio. Es una base <strong>de</strong> datos don<strong>de</strong> se almac<strong>en</strong>an todos los cambios que<br />

se han producido <strong>en</strong> un proyecto. En los sistemas <strong>de</strong> control <strong>de</strong> versiones<br />

c<strong>en</strong>tralizados hay sólo un repositorio maestro, <strong>en</strong> don<strong>de</strong> se almac<strong>en</strong>an todos<br />

los cambios <strong>de</strong>l proyecto y los <strong>de</strong>sarrolladores sólo ti<strong>en</strong><strong>en</strong> copias parciales <strong>de</strong><br />

su historia. En los sistemas <strong>de</strong>sc<strong>en</strong>tralizados cada <strong>de</strong>sarrollador pue<strong>de</strong> t<strong>en</strong>er<br />

la historia completa <strong>de</strong>l repositorio, incluso pue<strong>de</strong>n intercambiar cambios<br />

con otros repositorios <strong>en</strong> forma arbitraria e in<strong>de</strong>p<strong>en</strong>di<strong>en</strong>te.<br />

commit. Implica hacer efectivo un cambio <strong>en</strong> el proyecto, almac<strong>en</strong>ando dicho<br />

cambio <strong>en</strong> la base <strong>de</strong> datos <strong>de</strong>l sistema <strong>de</strong> control <strong>de</strong> versiones utilizado. En<br />

el l<strong>en</strong>guaje coloquial <strong>de</strong> los <strong>de</strong>sarrolladores, el término commit pue<strong>de</strong> ser<br />

utilizado como verbo o como sustantivo, <strong>en</strong> este último caso es sinónimo <strong>de</strong><br />

cambios. El término se pue<strong>de</strong> asociar al concepto utilizado <strong>en</strong> los sistemas<br />

<strong>de</strong> base <strong>de</strong> datos cuando se finaliza una transacción.<br />

16

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

Saved successfully!

Ooh no, something went wrong!