Sistema de versiones concurrentes


El Sistema de Versiones Concurrentes ( CVS , también conocido como Sistema de Versiones Concurrentes ) es un sistema de control de revisiones desarrollado originalmente por Dick Grune en julio de 1986. [4]

CVS funciona como interfaz de RCS , un sistema anterior que opera en archivos individuales. Amplía RCS agregando soporte para seguimiento de cambios a nivel de repositorio y un modelo cliente-servidor. [5]

CVS opera como interfaz para el Sistema de control de revisiones (RCS), un sistema de control de versiones anterior que administra archivos individuales pero no proyectos completos. Amplía RCS agregando soporte para seguimiento de cambios a nivel de repositorio y un modelo cliente-servidor. [5] Los archivos se rastrean utilizando el mismo formato de historial que en RCS, con un directorio oculto que contiene un archivo de historial correspondiente para cada archivo en el repositorio.

CVS utiliza compresión delta para el almacenamiento eficiente de diferentes versiones del mismo archivo. Esto funciona bien con archivos de texto grandes con pocos cambios de una versión a la siguiente. Este suele ser el caso de los archivos de código fuente. Por otro lado, cuando se le dice a CVS que almacene un archivo como binario, mantendrá cada versión individual en el servidor. Normalmente se utiliza para archivos que no son de texto, como imágenes ejecutables, donde es difícil crear deltas compactos entre versiones.

CVS excluye los enlaces simbólicos porque cuando se almacenan en un sistema de control de versiones pueden representar un riesgo de seguridad. Por ejemplo, se puede almacenar un enlace simbólico a un archivo confidencial en el repositorio, haciendo que el archivo confidencial sea accesible incluso cuando no esté registrado. En lugar de enlaces simbólicos, se pueden registrar scripts que requieren ciertos privilegios e intervención consciente para su ejecución. CVS. [ cita necesaria ]

CVS etiqueta un único proyecto (conjunto de archivos relacionados) que gestiona como un módulo . Un servidor CVS almacena los módulos que gestiona en su repositorio . Los programadores adquieren copias de los módulos al retirarlos . Los archivos extraídos sirven como copia de trabajo , zona de pruebas o espacio de trabajo . Los cambios en la copia de trabajo se reflejan en el repositorio al confirmarlos . Actualizar es adquirir o fusionar los cambios en el repositorio con la copia de trabajo.