Seguint la presentació de les eines basades en Open Source que utilitzam a la Fundació, i que es poden trobar baix l’etiqueta “Open Source a l’iBit” aquesta setmana vos mostrarem els repositoris de codi i control de versions, més concretament els dos que utilitzam a l’iBit: el CVS i el Subversion (SVN).
I per què serveixen aquestes eines? En el moment en què hi ha més d’una persona treballant damunt del mateix arxiu o codi és imprescindible una certa coordinació. Quan ja hi ha tot un equip i fins i tot empreses externes o gent geogràficament dispersa, aquesta coordinació és gairebé impossible. Aquestes eines ens faciliten la tasca del control de versions, com registrar els canvis que es van fent en el projecte; recuperar versions anteriors del codi; conèixer quins canvis s’han fet sobre un arxiu, saber qui els ha fet i quan; gestionar els conflictes que es puguin produir entre diferents desenvolupadors al modificar el mateix fitxer; detectar les diferències entre diferents versions del mateix arxiu; … A més, funciona com a repositori de tots els codis de l’organització, i simplifica la tasca dels backups, de la seguretat i la gestió de permisos d’accés al codi, controlar l’accés des de l’exterior, gestió del codi (segons la metodologia i bones pràctiques basades en l’estrucutra Trunk pel desenvolupament principal, Tags per ubicar les “versions congelades”, i branches per a les versions de desenvolupament paral·leles al trunk), …
Ho trob convenient però, i qui ens pot donar aquests serveis? Aquestes eines es troben fàcilment avui en dia a Internet, i més amb l’actual sistema de forges , plataformes de programadors que col·laboren en el desenvolupament d’un mateix codi, el que ha simplificat la possibilitat de crear comunitats extenses per al desenvolupament de programaris Open Source. Així, hi ha empreses que proporcionen serveis de repositoris de codi gratuïts per a projectes de software lliure, com Sourceforge, Google Code o CodePLex. En el nostre cas preferim tenir els serveis en els nostres servidors, per temes d’ampla de banda, i per tal de disposar d’un repositori centralitzat de tots els nostres projectes.
I quins són els millors programes per aquesta tasca? Són Open Source? N’hi ha molts, però nosaltres utilitzam dos dels més implantats, com són el CVS i el Subversion. Ambdues solucions són Open Source,i les diferències entre ells es poden trobar en diferents comparatives per Internet. El seu funcionament es basa en una estructura client-servidor. En el servidor hi ha el repositori, i cada desenvolupador disposa d’un client per connectar-se. A més, sempre podem comptar amb noves utilitats o pluggins per aquestes eines. Nosaltres, per exemple, disposam de visors webs dels repositoris (CvsWeb i SVN::Web), integració amb el programari open source de gestió de projectes Trac, i integració de pluggins d’ambdues plataformes (CVS ja està per defecte) per l’entorn de desenvolupament open source Eclipse.
Una eina bastant interessant i recomanable.