7 jul 2010

Control de versiones...

Cuando se esta en el entorno de desarrollo o trabajo colaborativo, muchas veces tenemos la necesidad de poder compartir un mismo archivo de trabajo. En mi caso como miembro de un equipo de desarrollo el proyecto en sí se conforma de el ensamble de todas las partes desarrolladas por cada uno de los miembros del equipo; esto es; si alguien no termino su parte o una modificación no esta a tiempo nos atrasa a todos, si el numero de desarrolladores se incrementa se vuelve un caos pasarse las cosas por correo o una carpeta compartida ademas de las inumerables problemas de una carpeta compartida (ya saben alun chistoso que no tuvo cuidado y reescribio todo el trabajo de otro)

Hay algunas formas de controlar o versionar como se le conoce en el medio los archivos, por parte de Microsoft tenemos SourceFace o Sharepoint, el primero no sabia ni de su existencia bastante monos debo decir; solo habia un problema el desarrollo esta en ambiente Linux luego entonces se nos hizo algo medio raro tener un desarrollo en linux y versionar con Microsoft. Además porque evitarnos el placer de hacernos bolas con las versiones libres.

De las libres más conocidas nos topamos con varias pero consideramos 3:
  • SVN
  • GIT
  • CVS
CVS creo que esta algo anticuiada y naranjas no nos convencio, GIT cuando estabamos evaluando estaba en el beta se veia muy bien pero estaba en betha.. y mira ahora hasta GNOME esta con GIT, así que nos fuimos por el veterano SVN.

Algo roñoso, pero creo que a final de cuentas flexible y cubria las necesidades, por lo menos para evitar los errorsoste que cometiamos seguido.

Bueno y que necesitamos para poder tener nuestro servidor de control de versiones:
  1. Un servidor con SVN configurado para acceso por el protocolo http (Hay que verselas con apache y algunos módulos del mismo)
  2. Un directorio o árboles de directorios bien ordenaditos y entendibles recordemos que no es de uso personal si no colaborativo
  3. Los archivos a versionar, ya sean archivos de texto como los manuales ó los códigos.
  4. Muy importante la disciplina de realizar la actualización al inicio y final del día.
A ver deje busco entre mis notas para colocar la forma de configurar el server, les adelanto el servidor que usamos esta en CentOS 5.2 una versión libre de Red Hat Entreprise (Si es linux es libre si es cierto el RHE tiene algunos costos por el bussines del costo y demas eso si el código es libre osea que lo podemos bajar compilar adecuar y quitar los logos de RHE jejjee y tener algo como CentOS)

No hay comentarios: