control de versiones (cvs)
TRANSCRIPT
CONTROL DE VERSIONES
Javier Benítez del Pozo
Roberto Carlos Flores Gómez
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.
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
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.
TERMINOLOGÍA
Repositorio
Módulo
Revisión o versión
Rotular
Rama o branch
Desplegar o checkout
Etc, etc...
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
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
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.
ARQUITECTURAS DE ALMACENAMIENTO
Centralizado
Distribuido
FLUJO DE TRABAJO
Centralizado
Con gestor de integraciones
Con dictador y tenientes
FLUJO DE TRABAJO: CENTRALIZADO
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
FLUJO DE TRABAJO: CON DICTADOR Y
TENIENTES
Teniente
Dictador
Teniente
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.
BIBLIOGRAFÍA
Wikipedia:
http://es.wikipedia.org/wiki/Control_de_versio
nes