Control de versiones (CVS)

16
CONTROL DE VERSIONES Javier Benítez del Pozo Roberto Carlos Flores Gómez

Transcript of Control de versiones (CVS)

Page 1: Control de versiones (CVS)

CONTROL DE VERSIONES

Javier Benítez del Pozo

Roberto Carlos Flores Gómez

Page 2: Control de versiones (CVS)

DEFINICIÓN

Es la gestión de cambios realizados sobre un

programa o producto.

La versión de un producto es el estado en el

que se encuentra en un momento dado.

Page 3: Control de versiones (CVS)

RAZONES PARA USARLO

Comunicación entre los desarrolladores

Manejo de los lanzamientos

Administración de fallos

Estabilidad en el código

Se pueden abarcar todas las áreas con

distintos desarrolladores

Page 4: Control de versiones (CVS)

CARACTERÍSTICAS

Mecanismo de almacenamiento de los

elementos que deba gestionar.

Posibilidad de realizar cambios sobre los

elementos almacenados.

Registro histórico de las acciones realizadas

con cada elemento.

Page 5: Control de versiones (CVS)

TERMINOLOGÍA

Repositorio

Módulo

Revisión o versión

Rotular

Rama o branch

Desplegar o checkout

Etc, etc...

Page 6: Control de versiones (CVS)

FORMAS DE COLABORAR

EXCLUSIVA

Es necesario comunicar los

cambios al repositorio y el

sistema bloqueará posibles

cambios en el mismo

elemento.

Ejemplo: SourceSafe

COLABORATIVA

Cada usuario modifica su copia

local y cuando se suben el

sistema intenta combinar

automáticamente las diversas

modificaciones

Ejemplo: Git

Page 7: Control de versiones (CVS)

ARQUITECTURAS DE ALMACENAMIENTO

CENTRALIZADOS

Existe un repositorio

centralizado de todo el código,

del cual sólo es responsable

un usuario o conjunto de

usuarios. Las modificaciones

necesitan aprobación del

responsable

Ejemplo: CVS y Subversion

DISTRIBUIDOS

Cada usuario tiene su

repositorio propio y se pueden

intercambiar versiones entre

ellos. Hay un repositorio que

sirve de sincronización entre los

locales.

Ejemplo: Git

Page 8: Control de versiones (CVS)

COMPARATIVA

CENTRALIZADOS

Hay más control al trabajar

en equipo ya que existe una

versión centralizada.

Cada versión está

identificada por un número.

DISTRIBUIDOS

El servidor remoto requiere

menos recursos.

Menos veces conectado a la

red.

La gente puede trabajar

aunque se caiga el

repositorio remoto.

Page 9: Control de versiones (CVS)

ARQUITECTURAS DE ALMACENAMIENTO

Centralizado

Distribuido

Page 10: Control de versiones (CVS)

FLUJO DE TRABAJO

Centralizado

Con gestor de integraciones

Con dictador y tenientes

Page 11: Control de versiones (CVS)

FLUJO DE TRABAJO: CENTRALIZADO

Page 12: Control de versiones (CVS)

FLUJO DE TRABAJO: CON GESTOR DE

INTEGRACIONES

Repositorio

público

Repositorio

privado

Repositorio

público

Repositorio

privado

Repositorio

público

Repositorio

privado

petición petición

Page 13: Control de versiones (CVS)

FLUJO DE TRABAJO: CON DICTADOR Y

TENIENTES

Teniente

Dictador

Teniente

Page 14: Control de versiones (CVS)

RAMAS

o Ramas de largo recorrido:

Se mantiene en la rama

master sólo lo que es

totalmente estable, luego se

tienen unas ramas que revelan

distintos grados de

estabilidad.

o Ramas puntuales:

Son ramas que se crean de

forma puntual para realizar una

funcionalidad muy concreta.

Page 15: Control de versiones (CVS)