¿Por qué es mejor subversion que cvs?
marzo 18, 2007 9:51 pm Software LibreCómo habreis notado estoy de mudanzas, pues una de las cosas que he mudado ha sido un viejo repositorio cvs a uno en subversión dentro dreamhost. Pues si chicos y chicas a pesar de todo lo bueno que llevo escuchando desde hace años sobre subversion todavía mantenía una vieja instalación de cvs y la verdad es que madre mia lo que me he estado perdiendo.
Las principales ventajas de subversion que ya conocía por oidas pero que después de leerme la documentación y trastear un poco ya no podré vivir sin ellas son:
- Tener un histórico del árbol de directorios. En cvs hay histórico únicamente de archivos lo que significa que la evolución de la estructura de directorios la debes mantener tu en tu cabeza.
- Arrastrar el histórico de archivos tras renombrarlo, moverlo o hacer una copia. Simplemente fantástico, en cvs cuando renombrabas un archivo lo que realmente sucedía es que hacías un borrado y añadias uno nuevo al repositorio con lo que perdias todo el histórico de cambios.
- Derivado de lo anterior facilidad para restructurar el árbol de archivos y directorios fácilmente sin miedo a perder información.
- El sistema de revisiones. En cvs cada archivo mantiene su propio número de revisión tal que la primera es 1.1 y se va sumando 1 (1.2, 1.3 … 1.n) . En subversion las revisiones representan al estado del head del repositorio en su totalidad, esto quiere decir que cada vez que se hace un commit se crea una nueva revisión para todo el head, o lo que es lo mismo todos los archivos y directorios del head pasan a tener el siguiente número de revisión. Se numera mediante números naturales empezando en 0 que es el repositorio recién creado y vacio y se le va sumando 1 (0, 1 … n).
- El sistema de resolver conflictos. Me ha gustado eso de que subversión te crea 3 archivos temporales con extensión .mime .old y .new donde old y new son las versiones del archivo de las revisiones antigua y nueva que entran en conflicto y .mime es la que tenías tu en tu copia de trabajo. Si leeis la documentación vereis que tienes 3 formas de resolverlo, entre ellas la típica como se suele hacer también en cvs de editar el archivo a mano y resolverla tu mismo.
Hay muchas más mejoras respecto a cvs pero para el trabajo diario estas son las más importantes.
Cheli

marzo 18th, 2007 at 11:57 pm
¿Por qué es mejor subversion que cvs?…
Ventajas principales de subversion frente a cvs en el trabajo diario….
marzo 28th, 2007 at 12:09 pm
Hay tambien un detalle importante desde el punto de vista de la administracion de sistemas.
Las operaciones son atomicas. Si durante el commit se produce un fallo, svn hace un rollback y todo queda como si nada. Si cvs falla en mitad de un commit (corte de red o lo que sea) te lia una que no veas.
marzo 28th, 2007 at 12:39 pm
Cierto cierto, esa la pasé por alto y es muy importante. Gracias por el apunte.
Cheli
marzo 29th, 2007 at 7:46 pm
[...] Para los interesados en conocer más sobre los sistemas de control de versiones: Quarkblog CLS [...]