¿Donde lo Descargo o Visualizo?
Usted amigo lector puede copiarlo, distribuirlo, estudiarlo, investigarlo, etc. en los siguientes enlaces:
Tercera Edición en formato PDF
Características de los CVS
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 partir de un sistema de versión previo denominado RCS, todavía en uso, que gestiona ficheros individuales pero no proyectos enteros . Dick Grune fue el primero en concebir el acercamiento basado en proyectos y los algoritmos de resolución de conflictos de CVS en diciembre de 1986. El código que se posteriormente acabó siendo en el actual CVS comenzó con Brian Berliner en abril de 1989, con posteriores aportaciones de Jeff Polk y otros contribuidores. Hoy en día, un grupo de voluntarios mantienen el código CVS.
Los comandos de svn (Subversion) son prácticamente los mismos que los del CVS.
La relación entre CVS y el proyecto 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/.
Más información de Sitios web CVS: