Top Banner
Ing. Ismael Castañeda Fuentes, MSc Grupo de Investigación UNBD Universidad Nacional de Colombia Marzo de 2011 REPOSITORIOS
51

REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Nov 02, 2018

Download

Documents

phamliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Ing. Ismael Castañeda Fuentes, MScGrupo de Investigación UNBD

Universidad Nacional de ColombiaMarzo de 2011

REPOSITORIOS

Page 2: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Objetivos

Conocer las ventajas de usar un repositorio, en el desarrollo

de un proyecto.

Aprender los conceptos básicos del repositorio

Aprender a usar el repositorio

Page 3: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

El software es dinámico

Cambios en el software por:

Corrección de defectos

Desarrollo iterativo

Cambios de ambiente

Cambios solicitados por el cliente/usuario

Los cambios en el software pueden generan cambios en:

Requerimientos y especificaciones

Modelos de análisis, diseño, …

Documentación

Código fuente

Código ejecutable

Casos de prueba

Page 4: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Gestión de cambios - Procedimiento

Solicitud de cambio

Aprobación/rechazo del cambio

Asignación del trabajo

Aseguramiento de calidad

Baja de versión inicial

Alta de la nueva versión

Auditoría

Comunicación a los afectados

Page 5: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Servidor de archivos versionados

Servidor de archivos con características extras

Cada archivo tiene asociado un historial de modificaciones

Los cambios en un archivo pueden deshacerse o recuperarse hasta cualquier punto en su historial

Recuerda la estructura del sistema de archivos en cualquier punto del historial (directorios)

Es posible ver cualquier archivo tal como se encontraba en cualquier punto del historial

Page 6: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Versionamiento

El control de versiones se realiza principalmente en la

industria informática para controlar las distintas versiones del

código fuente

Los mismos conceptos son aplicables a otros ámbitos, no

sólo para código fuente sino para documentos, modelos,

imágenes …

Page 7: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Desarrollo de un proyecto

1 2 3 4 5 6 7 8

1 2 3

1 2 3 4 5

Ing 1

Ing 2

Ing 3

Page 8: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

1 2 3 4 5 6 7 8

1 2 3

1 2 3 4 5

Ing 1

Ing 2

Ing 3

Versión Alfa 1Versión Beta1

Release 1

Desarrollo de un proyecto

Page 9: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Desarrollo de un proyecto

1 2 3 4 5 6 7 10

1 2 3

1 2 3 4 5

Ing 1

Ing 2

Ing 3

Versión 1

Versión 2

Versión 3

Error reportado

sobre la Versión 1

1.1 1.2 1.3

8 9

Page 10: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Control de versiones

Manual

Administrando directorios

Copias de seguridad

Usando comprimidos, …

Con herramientas de software – Repositorios

CVS (Concurrent Versions System )

Subversion SVN

Mercurial

Git

ClearCase

BitKeeper, Select, …

Usando servicios que facilitan uso de repositorios:

SourceForge (http://repository.sourceforge.net)

Google Code (www.//code.google.com)

Projec Kenai (http://kenai.com)

CodePlex (http://www.codeplex.com)

Page 11: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Google Code

Page 12: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Project Kenai

Page 13: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Source Forge

Page 14: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

CodePlex

Page 15: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Repositorios

Repositorio

Sitio centralizado donde se almacena y mantiene información

digital

El repositorio debe permitir

Agregar

Modificar de forma concurrente

Reunir modificaciones en una sola

Controlar versiones alternas

Comparar

Repositorio Subversion

Sistema para control de versiones

Page 16: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Subversion - Formas de acceso

A través del cliente Tortoise

A través del servidor

A través de Internet, cuando la persona está en un computador

que no es de su uso personal, por ejemplo cuando se va a un

café Internet como mecánica en una sola vía

Por medio de un IDE

Page 17: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Tortoise SVN - CHECKOUT

En el explorador de Windows:

En un directorio vacio

Clic derecho

Copia inicial

Ejemplo de URL para copia inicial: https://168.176.36.28:4443/piga

Page 18: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Tortoise SVN - CHECKOUT

Page 19: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Acceso al Repositorio

Repositorio

Copia

del

Repositorio

Usuario

Update

Page 20: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Acceso al Repositorio

Repositorio

Información

local

Usuario

Commit

Page 21: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Lectura compartida al Repositorio

Repositorio

Archivo A

Archivo A Archivo A

Pedro María

Page 22: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Trabajo simultáneo en el cliente

Repositorio

Archivo A

Pedro

Archivo A

María

Archivo A

Page 23: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Repositorio

Archivo AArchivo A

Escritura al Repositorio

Pedro

Archivo A

María

Archivo A

X¡Problema!

Page 24: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Escritura controlada en el Repositorio 1 de 5

Repositorio

Archivo A

Archivo A

Pedro

Bloquea

Pedro

Page 25: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Escritura controlada en el Repositorio 2 de 5

Repositorio

Archivo A

Pedro María

Archivo A

Bloquea

Pedro

X¡Problema!

Page 26: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Escritura controlada en el Repositorio 3 de 5

Repositorio

Pedro

Archivo A

Archivo A

Page 27: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Escritura controlada en el Repositorio 4 de 5

Repositorio

Pedro María

Archivo A

Archivo A

Archivo AArchivo A

Bloquea

María

Page 28: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Escritura controlada en el Repositorio 5 de 5

Repositorio

Pedro María

Archivo A Archivo A

Archivo A

Page 29: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Mezcla (Merge) 1 de 4

Repositorio

Archivo A

Archivo A

Pedro María

Archivo A

Page 30: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Mezcla (Merge) 2 de 4

Repositorio

Archivo A

Pedro María

Archivo A

Archivo A

X¡Problema!

Archivo A

Page 31: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Mezcla (Merge) 3 de 4

Repositorio

Archivo A

Pedro María

Archivo A

Archivo A

Archivo A Archivo A

Page 32: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Mezcla (Merge) 4 de 4

Repositorio

Archivo A

Pedro María

Archivo A

Archivo AArchivo A

Archivo A

Page 33: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Update

Repositorio

Archivo A

Pedro María

Archivo A

Archivo AArchivo A

Archivo AArchivo A

Page 34: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Iconos Internet Explorer

La carpeta en la copia de trabajo está sin

modificaciones y sin conflictos

Esto no significa que la copia de trabajo

esté actualizada a la última versión

Hay cambios pendientes por subir

Hay archivos en conflicto.

Tortoise SVN

Page 35: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Tortoise SVN

Page 36: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Tortoise SVN - Operaciones de usuario

Checkout

Descargar un proyecto del repositorio a una carpeta local

Update

Actualizar la copia de trabajo.

Al actualizar, se muestra un listado con los archivos nuevos,

eliminados o modificados, con una marca al comienzo de cada

uno:

A – Se ha añadido un archivo (quizás por otro usuario)

Page 37: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

C – Un archivo que fue modificado en la copia de trabajo, fue

modificado por otro usuario, y ha quedado en conflicto.

G - Un archivo que fue modificado en la copia de trabajo, fue

modificado por otro usuario, y se ha combinado

satisfactoriamente (sin conflicto)

U – Un archivo que cambió se ha actualizado.

D – Un archivo se ha borrado

Resolved

Marcar como resuelto el conflicto

Tortoise SVN - Operaciones de usuario

Page 38: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Add

Agregar un archivo o carpeta

Delete

Borrar un archivo o carpeta

Log

Mostrar información acerca de las versiones de una carpeta o archivo

Lock

Bloquear cambios sobre un archivo

Tortoise SVN - Operaciones de usuario

Page 39: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Copy

Copiar

Move

Mover

mkdir

Crear un directorio

Diff

Mostrar la diferencia entre la copia local y la base.

Mostrar la diferencia de un archivo entre una revisión y otra

Tortoise SVN - Operaciones de usuario

Page 40: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Commit

Subir los cambios hechos en la copia de trabajo al repositorio. Esto

genera una nuevo número de revisión en el repositorio. Puede

fallar si los archivos que se desean subir han sido modificados por

otro usuario. En este caso se deb hacer primero update y luego

resolver el posible conflicto.

Revert

Revertir cambios hechos en copia de trabajo

Tortoise SVN - Operaciones de usuario

Page 41: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

stat

Información acerca del estado de los archivos en la carpeta local:

C – En Conflicto

M – Modificados

A – Añadidos

D – Borrados

L – Bloqueados

? – No versionado

! – Archivo faltante (Eliminado , sin usar el comando adecuado –

delete)

Ver mas con svn help stat

Tortoise SVN - Operaciones de usuario

Page 42: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

SVN - Formas de acceso

A través del cliente Tortoise

A través de Internet, cuando la persona está en un

computador que no es de su uso personal, por ejemplo

cuando se va a un café Internet como mecánica en una

sola vía. (Cuidados que hay que tener)

A través del servidor

Page 43: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

SVN - Acceso por Internet

Escribir la dirección

https://168.176.36.28:4443/piga/

Hacer clic en continue to this

website (not recommended)

Digitar el usuario y contraseña

de acceso al repositorio.

Page 44: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

SVN - Acceso por Internet

Page 45: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

SVN - Seguridad

Acceso por HTTPS

Acceso sólo a usuarios registrados

Agrupación de usuarios

Permisos por usuario y por grupos

Lectura exclusivamente

Lectura y escritura

Ninguno

Page 46: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

SVN - Buenas prácticas

Antes de comenzar a trabajar, actualizar la copia de trabajo

Resolver un posible conflicto revisando los cambios de la nueva versión e incluyendo los nuevos

Evitar simplemente borrar archivo en conflicto y reemplazarlo por el propio. Con esto se ignoran los cambios hechos por alguien

Dejar un log descriptivo con cada nueva versión

Page 47: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Referencias

Tortoise SVN - Comparación

Page 48: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Tortoise SVN - Comparación

Page 49: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

Tortoise SVN - Comparación

Page 50: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

PowerDesigner - Comparación

Page 51: REPOSITORIOS - dis.unal.edu.codis.unal.edu.co/~icasta/consejero/repositorio/presentacion... · industria informática para controlar las distintas versiones del código fuente ...

SVN – IDE’s

En desarrollo, cuando se están haciendo

programas, es muy práctico trabajar con

un IDE e integrarlo con los repositorios

Eclipse con Subclipse

NetBeans