¿Por qué es mejor subversion que cvs?

Có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:

  1. 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.
  2. 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.
  3. Derivado de lo anterior facilidad para restructurar el árbol de archivos y directorios fácilmente sin miedo a perder información.
  4. 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).
  5. 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

Comentarios

  1. Pingback: www.programame.net

  2. ictop

    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.

  3. Autor de la
    Entrada
  4. Pingback: Descubrí los Sistemas de Control de Versiones « Trabajos de Alexander

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.