Diferencia entre CVS y SVN

Diferencia entre CVS y SVN

CVS vs SVN

CVS (sistema de versiones concurrentes) y SVN (subversión) son dos sistemas de archivos de control de versiones que son utilizados popularmente por equipos que están colaborando en un solo proyecto. Estos sistemas permiten a los colaboradores realizar un seguimiento de los cambios que se realizan y saben quién está desarrollando cuál y si una rama debe aplicarse a la troncal principal o no. CVS es el más antiguo de los dos y ha sido la herramienta de colaboración estándar para muchas personas. SVN es mucho más nuevo y presenta muchas mejoras para abordar las demandas de la mayoría de las personas.

Probablemente la mayor mejora para SVN es la adición de compromisos atómicos. Los confirmaciones atómicas permiten que cada compromiso se aplique en su totalidad o no en absoluto. Esto puede ser bastante útil cuando el servidor se bloquea en el medio de una confirmación. Con SVN, la confirmación se puede retrasar mientras CVS no pudo deshacer la comisión parcial. Otra adición es la capacidad de cambiar el nombre y mover los archivos en el repositorio. Con SVN, los archivos que han sido renombrados o eliminados aún llevan su historial de revisión y metadatos. CVS tampoco puede impulsar ningún cambio nuevo a los repositorios de los padres, mientras que se puede lograr en SVN con el uso de algunas herramientas. Estas características simplemente no son compatibles con CVS o no fueron parte de su diseño inicial y, a menudo, causan muchos problemas para algunas personas.

En términos de acceder a la red a través de una red, ambos admiten protocolos propietarios que pueden ser tunelizados a través de una conexión SSH para garantizar la seguridad de la información que se transmite a través de la red. SVN agrega un poco más con WebDav+DeltaV. Este protocolo se basa en HTTP y HTTPS y proporciona a los usuarios otra opción para conectarse al SVN.

Para la mayoría de las personas que recién comienzan con SVN y CVS, SVN es la opción superior y lógica entre los dos. Proporciona al usuario la característica correcta establecida para que coincida con sus necesidades. La única razón para seguir usando CVS es si está atrapado con un sistema heredado que es bastante difícil de mover a un sistema SVN.

Resumen:
1. SVN es más nuevo y más avanzado en comparación con los CV mucho más antiguos
2. SVN permite confirmaciones atómicas mientras que CVS no
3. SVN permite cambiar el nombre y moverse mientras CVS no
4. SVN permite propagar cambios a los repositorios de los padres, mientras que CVS no
5. SVN admite dos protocolos de red, mientras que CVS solo admite uno