INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY...

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

Transcript of INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY...

Page 1: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

INGENIERÍA DE SOFTWARE

CVS EN ECLIPSERUBBY CASALLAS, ANDRES YIE

Departamento de Ingeniería de Sistemas y Computación

Universidad de los Andes

1

Page 2: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Introducción a plug-in CVS en ECLIPSE2

El plug-in viene con la distribución estándar de

eclipse

http://www.eclipse.org

La documentación está en la ayuda de la

herramienta

Page 3: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Introducción a CVS en Eclipse3

Utilización de un depósito remoto vía ssh

Crear un proyecto Eclipse a partir de un módulo CVS

Creación de un módulo CVS a partir de un proyecto eclipse que ya existe

Cadenas especiales para substitución por CVS

Comparar la versión local contra la versión del depósito

“Commit” de modificaciones locales hacia el depósito

Modificaciones simultaneas a un archivo por dos desarrolladores distintos

Page 4: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Utilización de un depósito remoto via ssh

4

El depósito es un directorio que va a contener los

archivos versionados y que va a estar bajo control

de CVS

El depósito puede ser local o remoto

Si es remoto, puede estar en un servidor

NT/Unix/Linux

Page 5: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Utilización de un depósito remoto vía ssh

5

Seleccionar la perspectiva CVS Repositories

Descolgar el menú para definir la localización del depósito (CVS ROOT)

Page 6: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Utilización de un depósito remoto vía ssh

6

Aquí va la dirección del servidor

Aquí va la ruta donde se encuentra el depósito en la máquina remota(CVS ROOT)

Aquí va su login

Aquí va su password

Aquí va el tipo de conexión

Page 7: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Utilización de un depósito remoto vía ssh

7

Una vez que se define la localización del depósito remoto, Eclipse realiza la conexión y en la perspectiva CVS Repositories aparecen todos los proyectos contenidos en el depósito

Page 8: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Crear un proyecto Eclipse a partir de

un módulo CVS8

De éste módulo vamos a crear un proyecto Eclipse

Seleccionamos esta opción para decidir el lugar donde irán las fuentes

Page 9: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Crear un proyecto Eclipse a partir de

un módulo CVS9

Indicamos que queremos crear un proyecto Java

Page 10: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Crear un proyecto Eclipse a partir de

un módulo CVS10

Este erá el nombre el proyecto en eclipse

Esta será el lugar en la máquina virtual donde se hará checkout de las fuentes

Page 11: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Crear un proyecto Eclipse a partir de

un módulo CVS11

Se está haciendo checkout de los archivos en el módulo CVS que se seleccionó

Page 12: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de un módulo CVS a partir

de un proyecto eclipse que ya existe12

Este es el proyecto que quiero sobre CVS

Este es la opción para poderlo importar a CVS

Page 13: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de un modulo CVS a partir

de un proyecto eclipse que ya existe13

Este es la opción para poderlo importar a CVS

Page 14: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de un módulo CVS a partir

de un proyecto eclipse que ya existe14

Este es el depósito (que ya existe) donde quiero importar el proyecto

Page 15: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de un modulo CVS a partir

de un proyecto eclipse que ya existe

Rubby Casallas G..Departamento de Ingeniería de Sistemas y ComputaciónUniversidad de los Andes, Bogotá-Colombia

15

Aquí decidí que voya ausar el mismo nombre

Page 16: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de un modulo CVS a partir

de un proyecto eclipse que ya existe16

En esta perspectiva compruebo que el proyecto fue creado como un módulo del depósito CVS

Page 17: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Cadenas especiales para substitución

por CVS17

La cadena $Id$ es substituida por CVS con la identificación de la versión, la fecha y el autor

Page 18: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Comparar la versión local contra la

versión del depósito18

Esta línea fue agregada en la versión local

($Log$ será substituido por CVS)

Vamos a comparar la versión local con la última versión del mismo archivo que hay en el depósito de CVS

Page 19: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Comparar la versión local contra la

versión del depósito

Rubby Casallas G..Departamento de Ingeniería de Sistemas y ComputaciónUniversidad de los Andes, Bogotá-Colombia

19

Aquí señala la diferencia

Page 20: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

“Commit” de modificaciones locales

hacia el depósito20

Comentario que acompañara la versión nueva que se creará en el depósito

Page 21: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un archivo

por dos desarrolladores distintos21

Arbol de versiones del archivo HolaMundo.java

1.1

1.2

Espacio de trabajo del desarrollador 1. Tiene una copia local de la version 1.2

Espacio de trabajo del desarrollador 2. Tiene una copia local de la version 1.2

Page 22: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un archivo

por dos desarrolladores distintos22

Arbol de versiones del archivo HolaMundo.java

1.1

1.2

Espacio de trabajo del desarrollador 1. Tiene una copia local de la version 1.2

Espacio de trabajo del desarrollador 2. Tiene una copia local de la version 1.2

1.3

El desarrollador 2 realizó un commit de sus cambios y creó la versión 1.3

Page 23: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un

archivo por dos desarrolladores

distintos23

1.1

1.2

Espacio de trabajo del desarrollador 1. Tiene una copia local de la version 1.2

Espacio de trabajo del desarrollador 2. Tiene una copia local de la version 1.2

1.3

El desarrollador 1 tiene una versión desactualizada en su espacio local

Page 24: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

24

Modificaciones incluidas en la versión 1.3

Modificaciones locales del desarrollador 1 a su copia de la versión 1.2

Page 25: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un archivo

por dos desarrolladores distintos25

Si el desarrollador 1 intenta hacer commit de sus cambios, CVS le indica que está desactualizado y que debe primero actualizarse

Page 26: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un archivo

por dos desarrolladores distintos26

Page 27: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un archivo

por dos desarrolladores distintos27

Debido a que se modificaron exactamente las mismas líneas, CVS indica que hubo un conflicto que el desarrollador debe resolver

Page 28: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Modificaciones simultaneas a un archivo

por dos desarrolladores distintos28

Después de resolver el conflicto esta es la versión 1.4

Page 29: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Introducción a CVS en Eclipse29Utilización de un depósito remoto vía ssh

Crear un proyecto Eclipse a partir de un módulo CVS

Creación de un módulo CVS a partir de un proyecto eclipse que ya existe

Cadenas especiales para substitución por CVS

Comparar la versión local contra la versión del depósito

“Commit” de modificaciones locales hacia el depósito

Modificaciones simultaneas a un archivo por dos desarrolladores distintos

Page 30: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Otras facilidades de CVS30

Adición de nuevos archivos a un módulo CVS

Creación de TAGS para identificar versiones

Creación de Ramas

Page 31: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Adición de nuevos archivos a un

módulo CVS31

Page 32: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Adición de nuevos archivos a un

módulo CVS

Rubby Casallas G..Departamento de Ingeniería de Sistemas y ComputaciónUniversidad de los Andes, Bogotá-Colombia

32

Adicionar el archivo. Sólo lo adicina, no hace commit

Page 33: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Adición de nuevos archivos a un

módulo CVS33

Después de adicionarlo se debe hacer el commit

Page 34: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de TAGS para identificar

versiones34

Se puede colocar un TAG sobre un conjunto de archivos

Page 35: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de TAGS para identificar

versiones35

Nombre del TAG.EL nombre se puede usar después para buscar una versión particular de un archivo o de un conjunto de archivos

Page 36: INGENIERÍA DE SOFTWAREisis2304/dokuwiki/lib/exe… · INGENIERÍA DE SOFTWARE CVS EN ECLIPSE RUBBY CASALLAS, ANDRES YIE Departamento de Ingeniería de Sistemas y Computación Universidad

Creación de Ramas36

A partir de la creación de la rama, si se modifica el archivo y se realiza commit, las versiones se derivan de la nueva rama