Repositorios e mantemento do código

Posted by admin on August 20, 2008

repositorio de códigoEn xeral, nos proxectos de software libre, colaboran persoas de diferentes lugares que coordinan as súas accións a través de internet (listas de correo, chat, …). Esta característica demanda unha ferramenta que posibilite o traballo en grupo sobre o código de forma eficiente.

Para cubrir esa necesidade emerxe unha das ferramentas clásicas no desenvolvemento de software libre: os sistemas de control de versións.

Nun primeiro momento podemos entender esta ferramenta como un sistema para compartir información.

Pero os sistemas de control de versións posibilítannos moito máis que iso .. permítennos, por exemplo, a xestión das revisións do documento. Chámase revisión a cada estado do repositorio ó longo do tempo, é dicir, ós arquivos que inclué nun instante n. A diferencia entre a revisión3 e a revisión4 pode ser que se incluíron, borraron ou modificaron os arquivos do repositorio.

Un sistema de control de versións permítenos recuperar calquera das revisións do repositorio.

Nas seguinte figura podemos observar cómo varía o estado do repositorio (dende a revisión 0 ata a 3) a medida que imos facendo cambios, é dicir, ó engadir, modificar ou borrar algún ficheiro/directorio:

E, a pesar de que o estado final do repositorio é a revisión 3, temos acceso a calquera das anteriores, o que nos posibilita recuperar unha revisión antigua si, por exemplo, alguén introduciu un cambio que fai que o código xa non funcione como debería.

Ademáis disto, os sistemas de control de versións almacenan a historia de cada cambio. Dependendo do sistema elexido, teremos acceso a máis ou menos información, pero en xeral, sempre se pode observar a data da modificación, o autor e os cambios que realizou.

En resumo, un sistemas de control de versións ofrécenos:

  • Un lugar onde comparti-lo código do proxecto
  • A posibilidade de xestionar as revisións
  • Un histórico das modificacións de cada revisión

No caso da forxa de mancomún, o sistema de control de versións que se usa é Subversion (tamén coñecido como svn). Unha moi boa referencia para introducirse no uso deste sistema é o libro Version Control with Subversion, cunha versión dispoñible tamén en español.

FLUXO DE TRABALLO CON SVN

Co ánimo de exemplificar o seu uso, mostramos a continuación o fluxo de traballo dunha sesión normal:

  1. Descargar o que hay no repositorio (checkout do repositorio).
  2. Traballar sobre o código facendo as modificacións oportunas para implementar a nova característica ou correxir un bug.
  3. Comprobar que ninguén subiu cambios dende que descargamos a última revisión. Pode darse que:
    1. Alguén fixo cambios pero non afectan ó código que modificamos.
    2. Alguén fixo cambios e sí afectan ó código que modificamos: neste caso pode existir un conflicto entre os seus cambios e os nosos. De ser así, é necesario adaptar o código a estes cambios.
  4. Subir os cambios ó repositorio.

Co ánimo de exemplificar o seu uso, no seguinte post mostraremos cómo traballar con svn e as ferramentas usadas para enviar un parche a un proxecto de software libre.

Trackbacks

Trackbacks are closed.

Comments

Comments are closed.

  1. […] Logo do último post onde introduciamos os conceptos básicos dun sistema de control de versións, neste imos simular unha sesión de traballo habitual contra un proxecto de software libre. […]