Micro-cómo empezar a trabajar con cvs



Documentos relacionados
CVS Concurrent Versions System Manual de Usuario

Tutorial de Uso de CVS Ismael Olea Ignacio Arenaza Copyright 2002 Ismael Olea, Ignacio Arenaza

Control de Configuración

Taller de Git y GitHub

2. Instalación / Activación del servicio de Escritorio Remoto.

INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE. Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes

MANUAL DE USO DE bpcrm

SISTEMA MULTIUSUARIO

Para entornos con más de un equipo conectados en red es necesario que el programa de firewall conceda paso a los servicios de Microsoft SQL Server.

Manual del Tablón de Noticias de la UPV para Windows (nueva versión enero 96)

Gestión de Configuración con CVS, WinCVS y plug-in para Eclipse

ÍNDICE. 1- Copias de seguridad en Windows Cobian backup...9

Dirección de Servicios y Recursos de Información. Formación Manual Joomla 1.5. MANUAL DE USUARIO Joomla 1.5. Parte 1. Manual Joomla 1.

INSTALACIÓN DEL MÓDULO... 3 CONFIGURACIÓN DEL MÓDULO... 4 ACTIVACIÓN DEL MÓDULO EN LA ADMINISTRACIÓN:... 4 CONFIGURACIÓN DEL MÓDULO:...

CURSO GESTOR BIBLIOGRÁFICO REFWORKS BIBLIOTECA DE PSICOLOGÍA CURSO

Mercurial, sistema de control de versiones

Manual de Usuario: Asalvo Copia Remota

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación y Universidad Digital

Módulo Call Center. Guía de instalación v 1.2

CARLOS GARCÍA PARDILLOS

Sistema de análisis de vídeo basado en tecnología IP

Guía de Inicio Rápido Windows Respaldo en Línea

WINDOWS 98/Me CONFIGURACIÓN DE WINDOWS III. Sistema

UNIDAD 10. LAS CONSULTAS DE ACCIÓN

Manual de Usuario. Disco Virtual en Red

Instalación del cargador de arranque

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

EDITRAN/X25. Manual de instalación y usuario. Distribuido. Windows

Capítulo 2 INSTALACIÓN DE DEBIAN

Control de versiones con Subversion

TRABAJO E.D: CONTROL DE VERSIONES GIT REALIZADO POR: ANTONIO MARTINEZ NAVARRO

Trabajando en Equipo con Git y Github

Sistemas operativos. Qué es un sistema operativo?

Sistemas de Control de Fuentes. Website

SSH. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 3 SAD

Sage 50c Premium / Standard / Essential. Manual de instalación. SAGE 50c PREMIUM / STANDARD / ESSENTIAL Manual de Instalación

Descubre este programa creado bajo licencia GPL v.2 que permite la sincronización de archivos y carpetas...

Manual de Usuarios SOFTWARE RAZUNA - DAM. Grupo de Innovación y Apropiación de Tecnologías de la Información Archivística CKAN

Nimbus, servicios en la nube. Google Drive para PC

Instalación de corebos CRM

MANUAL DE AYUDA GESTIÓN DOCUMENTAL

Título. Problemas con apertura de aplicaciones Api0.ucam.edu Error SSL 61 / error certificado. Versión 1.2. Departamento de Ingeniería de Sistemas

Software para la configuración de productos

ACCESO AL CAMPUS VIRTUAL DE LA UCM

LABORATORIO DE AMPLIACIÓN DE SISTEMAS OPERATIVOS MINIX SOBRE VIRTUALBOX

Página Web Biblioteca

Manual de aplicación. Manual de usuario para JClic. Fecha:08/04/08 CONSEJERÍA DE EDUCACIÓN

Auditoría de Documentos de Venta WhitePaper Agosto 2007

Sage 50c Premium / Standard / Essential

1.Configure un servidor NTP en GNU/Linux. Conecte un cliente NTP en Windows o GNU/Linux.

Usar servidor FTP desde CMD de Windows

Unidad 1: Introducción al entorno

copy data Guía rápida del usuario Versión 1.2

1

El sistema de archivos o sistema de ficheros es el componente del sistema operativo encargado de administrar y facilitar el uso de las memorias perifé

slapd (Standalone LDAP Daemon) es el demonio encargado de ofrecer el servicio LDAP

APRISOFT (Vers: 1.5) MANUAL USUARIO, INSTRUCCIONES DE INSTALACIÓN

App CemeScan. Manual de Usuario

ACTUALIZACION CLAVEGES - CLAVECON

Tema: Introducción a los comandos Linux

CAPÍTULO IV: GESTIÓN DE ARCHIVOS. 1. Introducción a la Gestión de Archivos 2. Organización y acceso a los ficheros 3. Directorios

Manual de usuario para el servicio de almacenamiento en la nube del IFUNAM mixtli

A. Instalación de Mininet

MANUAL WinPoET 1/31. MANUAL WinPoET

Capítulo 2: Instalación del Sistema Operativo Introducción

Kanagram. La interfaz de Kanagram

CONVENCIONES USADAS... 13

HERRAMIENTA DE PERSONALIZACIÓN MANUAL DE COMERCIOS

Comandos Básicos de Guadalinex

Guía de Instalación de fastpos

Control de versiones con Subversion. Martín Gaitán y Pablo Martínez FCEFyN, Universidad Nacional de Córdoba Junio de 2007

Ayuda de Utilidad de agente de Backup Exec

Móvil Seguro. Guía de la Consola de Administración

MANUAL DEL USUARIO. Página Web.

Servicios en Red. Tema 4 SSH. Conexión segura a un servidor SSH GNU/Linux

Master en Linux Administración de Sistemas y Certificación LPI

MANUAL DE MÓDULO GESTIÓN DOCUMENTAL

ConfigurarCVS. Control de versiones con eclipse. Objetivo. Requisitos de software. Configruar el sistema de control de versiones

Workshop: Escritorios y aplicaciones virtuales con VMware Horizon y App Volumes

Manual de instalación Inventario Dispositivo Móvil. ClassicGes 6

Secure shell, también llamado ssh es un protocolo utilizado paro login y ejecución de procesos remotos.

Introducción a Linux. El regreso a los años 70: la consola (I)

Tecnologías de la información y la comunicación Clase 8 Martes, 25 de Agosto de 2009

La Herramienta Redmine para la Administración de Proyectos

11.2. Manual de GTC 2.0: El primer contacto

CONFIGURACIÓN DE RED. There are no translations available. Sigue paso a paso la configuración de red de KNOPPIX.

Asignatura: Entornos de programación Gestión de configuración. (Control de versiones, configuración y cambios)

MODIFICACIONES PARA LOS BOLETINES POR LA VERSIÓN LOMCE DE PRIMARIA

Ramón Manjavacas Ortiz

Módulo Instalación en ordenadores con conexión a Internet

Fecha de publicación y versión del software

Manual del usuario Windows Phone

Podemos acceder a ellos de diferentes maneras, pero vamos a ver una que nos permitirá navegar por los distintos proyectos para verlos.

Curso Superior Linux. Nivel Básico

Transcripción:

Tabla de contenidos Ismael Olea Introducción...3 Terminología cvs...3 Invocar a cvs...3 Configuración...4 Uso...6 Cómo configurar un servidor y cómo subir nuevos módulos al repositorio...8 Bibliografía...9 Interfaces gráficos...9 Otros recursos cvs interesantes...9 Otros recursos cvs más avanzados...10 Licencia...10

Introducción CVS 1 es algo que al principio es difícil de explicar con sencillez pero que al final resulta indispensable para la vida. Así, como lo oye. CVS es un sistema de mantenimiento de código fuente extraordinariamente útil para grupos de desarrolladores que trabajan cooperativamente usando alguna clase de red. Para ser más concreto, CVS permite a un grupo de desarrolladores trabajar y modificar concurrentemente ficheros organizados en proyectos. Esto significa que dos o más personas pueden modificar un mismo fichero sin que se pierdan los trabajos de ninguna. Además, sus funciones más usadas son muy sencillas de usar. Además CVS guarda las versiones antiguas de los ficheros. Esto permite recuperar en cualquier momento versiones anteriores a la actual. Dado que trabaja con ficheros ASCII es igual de útil para trabajar con código fuente de programas o con toda clase de documentos siempre que su formato sea completamente de texto, como pueden ser ficheros sgml/html/xml. Este documento es una referencia inmediata para trabajar con cvs. A poco que le saques partido necesitarás consultar otro más extenso. Sin embargo el 80% o más de las acciones que desarrollan los usuarios de cvs están documentadas en este artículo. Con CVS puede trabajarse de forma local (repositorio y copias de trabajo en el mismo sistema) o remota (el repositorio está en un sistema servidor y la copia local en otro que es cliente del primero). En este artículo sólo prestaré atención al modo de trabajo remoto, que es el que más impresiona a las visitas. Terminología cvs Para que no te pierdas, un brevísimo vocabulario: repositorio módulo jerarquía de directorios alojada en el servidor que contiene diferentes módulos a disposición de los usuarios. árbol de directorios que forma parte del repositorio; cuenta con un nombre identificador gracias al cual podremos bajárnoslo de forma selectiva. Invocar a cvs cvs es un programa que se invoca desde intérpretes de órdenes. Según cómo sea su configuración (y estoy pensando en las diferentes formas de autenticación) lo podrás usar en procesos por lotes sin ningún problema. 3

Un aspecto que debes tener en cuenta (sobre todo si este es el primer documento que lees sobre cvs) es que cvs tiene parámetros para cada una de sus órdenes. Para conocerlas tienes dos métodos: invocar cvs como «cvs help» o mirar la ayuda. Configuración Puedes usar varios ficheros de configuración que cvs reconocerá y usará. Yo, que soy el mejor ejemplo que tengo a mano, uso los siguientes: ~/.cvsignore que contiene los sufijos de los ficheros que no nos interesa que cvs controle: *.tex *.aux *.dvi *.ps *.log ~/.cvsrc que contiene parámetros que cvs usará cada vez que se invoque: cvs -z 3 update -Pd diff -uw La autenticación Al trabajar en remoto con cvs pueden elegirse varias alternativas de autenticación (es decir, de demostrar al servidor que somos quienes decimos que somos). Las que más he visto usar son vía pserver y vía ssh. Deberás elegir alguna de estas técnicas en función de sus necesidades, las ganas que tengas de complicarte la vida y, sobre todo, del grado de neurosis obsesiva por la seguridad que padezcas. ssh Como uno va por la vida predicando el software libre no puedo más que recomendar el uso de OpenSSH que puede encontrarse en http://www.openssh.org. Si no me equivoco, esta herramienta es compatible con la norma ssh 1.x. Para que cvs use este modo de autenticarse se pueden usar estas variables de entorno: export CVSROOT=":ext:USUARIO@www.vivalavirgen.com:/home/cvs" export CVS_RSH=/usr/bin/ssh 4

donde USUARIO es nuestro nombre de usuario; www.vivalavirgen.com es el servidor que aloja al repositorio; /home/cvs /usr/bin/ssh es el directorio del servidor en el que está el repositorio; es la ruta completa al amigo ssh. Tenga en cuenta que, usando esta técnica, tendrá que autenticarse (es decir, suministrar su contraseña) cada vez que ejecute cvs. pserver Esta técnica es más de «andar por casa». Se monta rápidamente y no necesita de programas añadidos. export CVSROOT=":pserver:USUARIO@www.vivalavirgen.com:/home/cvs" donde USUARIO es nuestro nombre de usuario; www.vivalavirgen.com es el servidor que aloja al repositorio; /home/cvs es el directorio del servidor en el que está el repositorio. Si usa esta técnica, antes de poder trabajar con cvs debe autenticarse con el servidor. Eso se hace con la orden login: $ cvs login 5

CVS le pedirá la contraseña del usuario que haya configurado. Si la contraseña es correcta cvs guardará la información que necesita en el fichero ~/.cvspass y no tendrá que volver a autenticarse. Si por algún motivo exotérico quisiera «cerrar la sesión cvs» bastará con hacer: $ cvs logout Uso Modo de uso A continuación se propone una sencilla metodología de trabajo con cvs para evitar trabajos redundantes. Piénsese por ejemplo en la eliminación de erratas o errores en documentos o en código fuente. Antes de cada sesión de trabajo es conveniente hacer «cvs update» para asegurarnos de que disponemos de las últimas modificaciones. Justo al acabar cada sesión de trabajo es conveniente hacer «cvs ci» para que todas nuestras modificaciones se propaguen en el servidor. Bajar por primera vez el módulo Para crear una copia de trabajo local del módulo cvs deseado debemos usar la orden co (o su equivalente checkout): $ cd [padre-de-directorio-donde-se-alojará-el-módulo] $ cvs co [nombre-del-módulo] Esto creará una jerarquía de directorios donde se almacenará el módulo. Este paso sólo hay que hacerlo una vez por cada módulo. A partir de este momento no es necesario configurar las variables de entorno porque cvs sabe a qué repositorio pertenece el módulo con sólo examinar los subdirectorios CVS. No debes modificar nunca esos subdirectorios o volverás loco al pobre cvs. 6

Actualizar cambios Cuando queramos actualizar la copia local del módulo con los cambios que hayan podido hacer otros usuarios y que están recogidos en el repositorio deberemos hacer: $ cd [directorio-del-módulo] $ cvs update Publicar nuestras modificaciones Se usa la orden ci (o su equivalente commit): $ cd [directorio-del-módulo] $ cvs ci Tras lo cual el sistema mostrará la pantalla de un editor de textos (el que tengamos configurado como nuestro favorito en las variables de entorno) para que describamos el cambio. Resolución de conflictos Tal cual la ONU habrá ocasiones en las que tengamos que resolver los conflictos que surjan entre diferentes versiones para que cvs continúe trabajando. Estos conflictos son normales y ocurren cuando dos o más personas modifican a la vez exactamente la mismas partes de un fichero. El procedimiento es simple: cvs se quejará de un fichero; editamos ese fichero; encontraremos unas marcas del tipo [...] >>>>>>>>>>>>>> taca =========== tacataca <<<<<<<<<<<<<< [...] El texto entre marcas es el que produce el conflicto. Hay que elegir qué modificación nos gusta y borramos todo lo demás. si no quedan conflictos volvemos a hacer el «ci» y a ser felices. 7

Añadir ficheros al módulo No olvides que cvs controlará sólo los ficheros que se le hayan indiciado expresamente. Cualquier otro fichero en el directorio cvs será ignorado. Si quieres incluir un nuevo fichero o directorio al módulo cvs hay que seguir los siguientes pasos: $ cd [directorio-del-módulo] $ cvs add [fichero] pero si el fichero es binario hay que tener la precaución de hacer: $ cd [directorio-del-módulo] $ cvs add -kb [fichero] Por qué?, se preguntará el lector más intrépido. Resulta que CVS usa varias variables (en realidad son de RCS, que funciona por debajo de CVS). Si el fichero es binario es posible que se de una combinación de bytes que coincidan con alguna de estas variables. Si así fuera, RCS/CVS modificaría el contenido y lo corrompería. También se debe a que el sistema de cálculo de diferencias que usan estos sistemas no está diseñado para trabajar con información binaria. Si se obra equivocadamente es probable que corrompamos los datos. También quiero señalar que si bien se pueden gestionar ficheros binarios, no se hará control de versiones de los mismos. Sólo se guardará la última versión. Tras el «add» hay que hacer un «cvs ci» para actualizar el servidor con los nuevos ficheros. Eliminar ficheros del módulo cvs Para eliminar un fichero del módulo cvs hay que hacer lo siguiente una vez borrado el fichero: $ cd [directorio-del-módulo] $ cvs remove [fichero] En cambio, si queremos borrar físicamente los ficheros a la vez que los eliminamos del módulo deberemos usar: $ cd [directorio-del-módulo] $ cvs remove -f [fichero] 8

Cómo configurar un servidor y cómo subir nuevos módulos al repositorio. Si este documento es tu referencia favorita sobre cvs no merece la pena que te explique cómo se hacen estas cosas porque de todas formas no te ibas a enterar. Espabila un poco porque es bien fácil una vez que uno se ha mirado los manuales. Si alguien con mejor corazón que yo tiene tiempo, que amplíe esta sección para beneficio de todos. Bibliografía Por un lado hay un completísimo fichero info dedicado a cvs. Si usa GNU/Linux es muy probable que ya lo tenga instalado en su sistema. Por otro lado en http://cvsbook.red-bean.com/ está disponible otro libro documentando cvs. Interfaces gráficos Espero que si llegas a este punto es por curiosidad o por la inercia de la lectura porque los verdaderos tecnófilos tienen que saber exactamente qué es lo que hacen en cada momento sin que ninguna clase de software intente facilitarles la vida encapsulando complejidades. Sobre todo cuando ese software ofrece interfaces gráficos. En cualquier caso y para que nadie pueda dudar de mi profesionalidad voy a enumerar unos cuantos interfaces gráficos cvs en mayor o menor estado de desarrollo: pharmacy 4 gcvs 5 tkcvs 6, para unix y windows y que además saca un bonito grafo con el historial de desarrollo. wincvs 7, para windows, como bien sugiere el nombre. He oído hablar mal de él, pero como no lo he probado no puedo asegurar nada. cervisia 8, para KDE. lincvs 9 Bueno, ya me aburrí. Para encontrar los enlaces que faltan, la mayoría aparecerán en http://freshmeat.net y con el tiempo tal vez aparezcan nuevas herramientas. Otros recursos cvs interesantes La página principal que creo que ahora está en http://www.cvshome.org/ 11. 9

cvsq, una utilidad para trabajar sin conexión permanente a la red: http://freshmeat.net/news/2000/07/02/962595201.html. Enlaces 13 a documentación y otros recursos. cvs2cl.pl, que es una herramienta para crear ficheros Changelog al estilo GNU y que puede encontrarse en http://www.red-bean.com/cvs2cl/ Otros recursos cvs más avanzados cvsadmin 15 es una herramienta para administrar las cuentas de un repositorio. cvs-nserver 16 es una reescritura y extensión de cvs para mejorar sus capacidades en red. cvsauth 17 sirve para autenticar usuarios sin ejecutar en el servidor cvs como root. Licencia Este documento está bajo los auspicios de la licencia de documentación libre de GNU que puede encontrarse en http://www.gnu.org Notas 1. http://www.cvshome.org/ 2. http://www.openssh.org 3. http://cvsbook.red-bean.com/ 4. http://pharmacy.sourceforge.net/index.html 5. http://freshmeat.net/projects/gcvs/?highlight=gcvs 6. http://www.twobarleycorns.net/tkcvs.html 7. http://www.wincvs.org 8. http://freshmeat.net/projects/cervisia/?highlight=cvs 9. http://freshmeat.net/projects/lincvs/ 10. http://freshmeat.net 11. http://www.cvshome.org/ 12. http://freshmeat.net/news/2000/07/02/962595201.html 13. http://www.loria.fr/~molli/cvs-index.html 14. http://www.red-bean.com/cvs2cl/ 15. http://freshmeat.net/projects/cvsadmin/?highlight=cvsadmin 10

16. http://alexm.here.ru/cvs-nserver/ 17. http://freshmeat.net/projects/cvsauth/?highlight=cvsauth 18. http://www.gnu.org 11

12