CVS
Keywords: CVS, Cliente-servidor, Colaboración, Código abierto, Español, FTP, GNU, Inglés, Internet
El Concurrent Versions System (CVS), también conocido como el Concurrent Version System y el Concurrent Versioning System, implementa un sistema de control de versiones : mantiene el registro de todo el trabajo y los cambios en la implementación de un proyecto (de programa) y permite que distintos desarrolladores (potencialmente situadas a gran distancia ) colaboren. CVS se ha convertido en popular en el mundo del software libre. Sus desarrolladores difunden el sistema bajo la GNU_FDL General Public License.
| Tabla de contenidos |
|
1 Terminología |
Características
CVS utiliza una arquitectura cliente-servidor: un servidor guarda la(s) versión(es) actual(es) del proyecto y su historia, y los clientes conectan al servidor para sacar una copia completa del proyecto, trabajar en esa copia y entonces ingresar sus cambios . Típicamente, cliente y servidor conectan utilizando Internet, pero cliente y servidor pueden estar en la misma máquina si CVS tiene la tarea de mantener el registro de la historia de las versiones del programa de un proyecto solamente con desarrolladores locales. El servidor normalmente utiliza un sistema operativo similar a Unix, mientras que los clientes CVS pueden funcionar en cualquier de los sistemas operativos mas difundidos.
Varios clientes pueden sacar copias del proyecto al mismo tiempo. Posteriormente , cuando ingresan sus modificaciones, el servidor trata de fundirlas . Si esto falla, por ejemplo debido a que dos clientes tratan de cambiar la misma línea en un fichero en particular, entonces el servidor deniega el segundo ingreso e informa al cliente sobre el conflicto, que el usuario deberá resolver manualmente. Si la operación de ingreso tiene éxito, entonces los números de versión de todos los ficheros implicados se incrementan automáticamente, y el servidor CVS escribe una línea de descripción suministrada por el usuario, la fecha y el nombre del autor y sus ficheros log.
Los clientes pueden también comparar diferentes versiones de ficheros, solicitar una historia completa de los cambios, o sacar una foto histórica del proyecto tal como se encontraba en una fecha determinada o en un número de revisión determinado. Muchos proyectos de código abierto permiten el "acceso de lectura anónimo", significando que los clientes pueden sacar y comparar versiones sin necesidad de teclear una contraseña; sólamente el ingreso de cambios requiere una contraseña en estos escenarios.
Los clientes también pueden utilizar el comando de actualización con el fin de tener sus copias al día con la última versión que se encuentra en el servidor. Esto elimina la necesidad de repetir las descargas del proyecto completo.
CVS también puede mantener distintas "ramas" de un proyecto . Por ejemplo, una versión difundida de un proyecto de programa puede formar una rama, utilizada para corregir errores, mientras que una versión actualmente en desarrollo, con cambios mayores y nuevas características, pueden formar una rama separada.
Terminología
La terminología CVS denomina módulo a un proyecto simple (conjunto relacionado de ficheros) gestionado por CVS. Un servidor CVS puede gestionar diferentes módulos; guarda todos los módulos que gestiona en su repositorio. La copia de un módulo que ha sido descargado por un cliente sirve como una copia de trabajo.
Historia y estado
CVS fue desarrollado a GNU puede parecer ambiguo: el sitio GNU distribuye el programa, denominándolo "paquete GNU" en una página y "otros proyectos con licencia GLP" en otra . En el sitio FTP, el programa reside en el directorio /no-gnu/.
Vease también sistema de control de versión.
Referencias y enlaces externos
Español
Inglés
- Documentation at CVSHome.org:
- Karl Fogel: Open Source Development with CVS
- Sitios web CVS:
