+ All Categories
Home > Documents > Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Date post: 23-Jan-2016
Category:
Upload: salvador-flores-gomez
View: 220 times
Download: 0 times
Share this document with a friend
Popular Tags:
25
Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.
Transcript
Page 1: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Concurrent Versions System

Daniel Vergara C.

Rodrigo Yañez Q.

Page 2: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

INTRODUCCIÓNINTRODUCCIÓN

¿De dónde surge? La solución: Sistemas de Control de Versiones Ventajas: - Administrar versiones de archivos

- Evitar redundancia- Centralizar la información- Permitir la libre modificación sin destruir trabajo anterior.

Page 3: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

CVS: Concurrent Versions System

CVS: Concurrent Versions System

Disponible para múltiples plataformas Funcionamiento simple Trabaja en forma local o remota

Page 4: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Conceptos básicosConceptos básicos

Page 5: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Conceptos básicosConceptos básicosRevisión

Page 6: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Creación de un repositorioCreación de un repositorio

Definir variable de entorno CVSROOT$export

CVSROOT=/home/alm99/login/repositorio

Inicializar el repositorio $cvs init

Page 7: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Acceder a un repositorioAcceder a un repositorio

En un sistema local:$cvs –d home/alm99/login/repositorio comando

o

$cvs comando

Forma remota (SSH):$CVSROOT=:ext:[email protected]:/home/

alm99/login/repositorio

$export CVSROOT CVS_RSH=ssh

Page 8: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Comenzar un proyecto nuevoComenzar un proyecto nuevo

Introducir un proyecto nuevo al repositorio CVS se denomina importar.

Se utiliza cvs importEjemplo:

$cd proyecto

$cvs import –m “importación tarea1” proyecto login start

Page 9: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Obtener una copia de trabajoObtener una copia de trabajo

El comando para obtener un proyecto es checkout.

Ejemplo:$cd micopia

$cvs checkout proyecto

Page 10: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Obtener una copia de trabajoObtener una copia de trabajo

Estructura del Contenido de la copia/proyecto

|---/CVS||---/Módulo_1||-------/Submódulo_1 del Módulo_1||-------/CVS||---/Módulo_2||-------/Submódulo_1 del Módulo_1||-------/CVS

Page 11: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Obtener una copia de trabajoObtener una copia de trabajo

Archivos del Directorio CVS

|---/CVS

|-------Root

|-------Repository

|-------Entries

-Root: contiene la ruta al repositorio

-Repository: contiene la ruta de un proyecto dentro del repositorio.

-Entries : contiene información sobre cada uno de los ficheros que

forman parte del proyecto

Page 12: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Actualización de nuestra copia local

Actualización de nuestra copia local

Para actualizar nuestra copia local respecto a los cambios del repositorio central se utiliza el comando update

Ejemplo:$cvs update

o también:

$cvs update nombre_archivo

Page 13: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Comparando ficheros con el repositorio

Comparando ficheros con el repositorio

El comando diff muestra cualquier diferencia entre los ficheros de la copia local y sus homónimos en el repositorio

Ejemplo:$cvs diff

Page 14: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Enviar cambios al RepositorioEnviar cambios al Repositorio

El comando commit envía al repositorio las modificaciones que hemos estado realizando en nuestra copia local.

Ejemplo:$cvs commit -m "mensaje del cambio“ archivo

Page 15: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Enviar cambios al RepositorioEnviar cambios al Repositorio

IMPORTANTE

- Al enviar el fichero, el proyecto original no se ve afectado.- Se agrega una nueva revisión.- Cuando un cliente solicita una copia del proyecto obtiene la última revisión de

cada fichero contenido en el repositorio.

Page 16: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Averiguar quien hizo queAveriguar quien hizo que

Suponiendo que el proyecto a pasado por varios cambios y queremos saber que archivos han sido modificados, no es necesario examinar con detalle cada fichero de diferencias.

Esto se realiza con el comando log:

$cvs log

Page 17: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Examinar y deshacer cambiosExaminar y deshacer cambios

Supuesto: el usuario “davec”, se percata que “royaq” hizo el cambio mas reciente a “tarea1”

Pregunta: ¿Cuál es la diferencia entre mi revisión (1.2) de “tarea1”y la revisión de “royaq” que vino a continuación (1.3)?

Respuesta: $cvs diff –c –r 1.2 –r 1.3 archivo

Page 18: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Añadir archivos y directorios al repositorio

Añadir archivos y directorios al repositorio

Archivo: Se utiliza el comando add y luego se debe enviar al repositorio (commit).

Ejemplo:$ cvs add newfile.c

$ cvs commit -m “nuevo fichero” newfile.c

Page 19: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Añadir archivos y directorios al repositorio

Añadir archivos y directorios al repositorio

Directorio: También se utiliza el comando add, pero no se debe enviar al repositorio.

Ejemplo:$ mkdir new-subdir

$cvs add new-subdir

Page 20: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Eliminando FicherosEliminando Ficheros

Eliminar un fichero es similar a añadir uno, con la salvedad de que se debe hacer un paso adicional: eliminar primero el fichero de la copia de trabajo.

Ejemplo:

$rm newfile.c

$ cvs remove newfile.cl

$ cvs commit –m “eliminando archivo” newfile.c

Page 21: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

CVS y los ficheros eliminados CVS y los ficheros eliminados

Cvs no borra ningún fichero del repositorio.Lo mueve a un directorio llamado AtticLo marca como “muerto” estando

disponible en caso de desear “revivirlo”

Page 22: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Formas Abreviadas de CVSFormas Abreviadas de CVS

Los comandos CVS tienen una forma abreviadaLos mas usados son:

checkout=coupdate=up commit=ci

Se puede obtener una lista de todas las formas abreviadas ejecutando el comando:$ cvs –help-synonyms.

Page 23: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

Veamos un Ejemplo...Veamos un Ejemplo...

Page 24: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

ReferenciasReferencias

http://www.cvshome.org http://www.wincvs.org http://www.red-bean.com/cvsbook/

Page 25: Concurrent Versions System Daniel Vergara C. Rodrigo Yañez Q.

FINFIN

¿Preguntas?


Recommended