CVS
De Wikipedia, la enciclopedia libre
El Concurrent Versions System (CVS), también conocido como Concurrent Version System o 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 situados a gran distancia) colaboren. CVS se ha hecho popular en el mundo del software libre. Sus desarrolladores difunden el sistema bajo la licencia GPL.
Tabla de contenidos |
[editar] Características
CVS utiliza una arquitectura cliente-servidor: un servidor guarda la(s) versión(es) actual(es) del proyecto y su historial. Los clientes se conectan al servidor para sacar una copia completa del proyecto. Esto se hace para que eventualmente puedan trabajar con esa copia y mas tarde ingresar sus cambios con comandos GNU.
Típicamente, cliente y servidor se conectan utilizando Internet, pero con el sistema CVS el cliente y servidor pueden estar en la misma máquina. El sistema 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 más difundidos.
Varios clientes pueden sacar copias del proyecto al mismo tiempo. Posteriormente, cuando ingresan sus modificaciones, el servidor trata de acoplar las aplicaciones. Si esto falla, por ejemplo debido a que dos clientes tratan de cambiar la misma línea en un archivo 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 archivos 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 archivos log.
Los clientes pueden también comparar diferentes versiones de archivos, 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; solamente el ingreso de cambios requiere una contraseña en estos casos.
Los clientes también pueden utilizar la orden 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 y ser utilizada para corregir errores. Todo esto se puede llevar a cabo mientras la versión que se encuentra actualmente en desarrollo y posee cambios mayores con nuevas características se encuentre en otra línea formando otra rama separada.
[editar] Terminología
La terminología CVS denomina módulo a un proyecto simple (conjunto relacionado de archivos) 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.
[editar] Historia y estado
CVS fue desarrollado por GNU, el sitio GNU distribuye el programa, denominándolo "paquete GNU" con aplicaciones básicas a través de esta página. En otros proyectos se otorga con licencia GPL"
[editar] Limitaciones del protocolo CVS
Los archivos en el repositorio sobre la plataforma CVS no pueden ser renombrados, estos deben ser eliminados y luego volver a agregarlos con el nuevo nombre. El protocolo CVS no provee una manera de que los directorios puedan ser eliminados o renombrados, cada archivo en cada subdirectorio debe ser eliminado y re-agregado con el nuevo nombre. Soporte limitado para archivos Unicode con nombres de archivo no ASCII.
[editar] Véase también
- Sistema de control de versión
- Subversion
- GNU arch
- Darcs o DARCS
- Bonsai cvs
- Plastic SCM
[editar] Referencias y enlaces externos
Wikilibros contiene el libro titulado «Tutorial de uso de CVS»
[editar] Español
[editar] Inglés
- http://www.cvshome.org
- http://www.cvshome.org/docs/
- http://ximbiot.com/cvs/wiki/ Wiki de CVS.
- http://cvsbook.red-bean.com/cvsbook.html Karl Fogel: Open Source Development with CVS
- http://www.nongnu.org/cvs/
- TortoiseCVS - Cliente CVS que se integra con Explorer de Windows