cversion-1 control de versiones, configuración y cambios
TRANSCRIPT
![Page 1: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/1.jpg)
CVERSION-1
Control de versiones, configuración y cambios
![Page 2: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/2.jpg)
CVERSION-2
Control de versiones, configuración y cambios
Contenido
Evolución del software Control de versiones Control de configuración Control de cambios Repositorio. Almacenamiento eficiente Ejemplos de herramientas
![Page 3: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/3.jpg)
CVERSION-3
Control de versiones, configuración y cambios
Evolución del software
Durante el desarrollo El desarrollo del software siempre es progresivo,
incluso en el ciclo de vida en cascada El desarrollo evolutivo consiste, precisamente, en
una evolución controlada (ciclo de vida espiral, prototipos evolutivos)
Durante la explotación Durante la fase de mantenimiento se realizan
modificaciones sucesivas del producto
![Page 4: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/4.jpg)
CVERSION-4
Control de versiones, configuración y cambios
Control de versiones
Motivo: evolución El software cambia con el tiempo, por diversas
razones Es necesario controlar esta evolución Suele ser necesario recuperar versiones antiguas
Concepto de versión (revisión) “Versión” es la Forma particular que adopta un
objeto en un contexto dado Desde el punto de vista de evolución, es la forma
particular de un objeto en un instante dado. Se suele denominar “revisión”
![Page 5: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/5.jpg)
CVERSION-5
Control de versiones, configuración y cambios
Control de configuración
Concepto de configuración Un sistema software comprende distintos
componentes, que evolucionan individualmente Hay que garantizar la consistencia del conjunto del
sistema Una “configuración” es una combinación de
versiones particulares de los componentes que forman un sistema consistente
Desde el punto de vista de evolución, es el conjunto de las versiones de los objetos componentes en un instante dado
![Page 6: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/6.jpg)
CVERSION-6
Control de versiones, configuración y cambios
Control de cambios Línea base
Llamaremos “línea base” a una configuración operativa del sistema software
La evolución del sistema puede verse como evolución de la línea base
Concepto de cambio Un “cambio” es el paso de una versión de la línea
base a la siguiente Puede incluir modificaciones del contenido de
algún componente, y/o modificaciones de la estructura del sistema, añadiendo o eliminando componentes
![Page 7: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/7.jpg)
CVERSION-7
Control de versiones, configuración y cambios
Variantes Configuraciones alternativas
Un sistema software puede adoptar distintas formas (configuraciones) dependiendo del lugar donde se instale. Por ejemplo, dependiendo de la plataforma que la soporta (máquina + S.O.), o de las funciones opcionales que haya de realizar o no
Una “variante” es una versión de un componente (o de la configuración global) que evoluciona por separado
Las variantes representan una variación espacial, mientras que las revisiones representan una variación temporal
![Page 8: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/8.jpg)
CVERSION-8
Control de versiones, configuración y cambios
Repositorio Almacenamiento de versiones
Es habitual centralizar el almacenamiento de los componentes de un mismo sistema, incluyendo las distintas versiones de cada componente. Este almacén común se denomina “repositorio”
El repositorio permite ahorrar espacio de almacenamiento, evitando guardar por duplicado elementos comunes a varias versiones o configuraciones
El repositorio facilita el almacenar información de la evolución del sistema (historia), y no sólo de los componentes en sí
A veces se confunde el término 'repositorio' con el de 'línea base'
![Page 9: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/9.jpg)
CVERSION-9
Control de versiones, configuración y cambios
1 2 3 4
Grafo de evolución
Revisiones sucesivas de un componente
![Page 10: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/10.jpg)
CVERSION-10
Control de versiones, configuración y cambios
1.1 1.2 1.3 1.4
2.1 2.2 2.3
3.1 3.2
4.1
TRONCO: Variante principal, p.ej. 1.1-1.2...RAMAS: Variantes secundarias, p.ej: 2.1..., 3.1...DELTA: Cambios de una revisión respecto a la anterior
Delta 3.2 = (3.1 3.2)
Variantes
![Page 11: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/11.jpg)
CVERSION-11
Control de versiones, configuración y cambios
1.1 1.2 1.3 1.4
2.1 2.2 2.3
3.1 3.2
1.5
2.4
3.3
2.4 = 2.3 + 1.5 - 1.43.3 = 3.2 + 1.5 - 1.4
“Diff-Merge” / ”Patch”:
Propagación de cambios
![Page 12: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/12.jpg)
CVERSION-12
Control de versiones, configuración y cambios
1.1 1.2 1.3 1.4
2.1 2.2 2.3
3.1 3.2
4.1 4.2
Igual que propagación de cambios:(o bien de forma manual)
Fusión de variantes
4.1 = 3.2 + 2.3 - 2.3
![Page 13: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/13.jpg)
CVERSION-13
Control de versiones, configuración y cambios
1.1 1.2 1.3 1.4 1.5
2.1 2.2
1.2 1.3 1.4 1.5
2.1 2.2
Técnicas de almacenamiento
Deltas directos
![Page 14: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/14.jpg)
CVERSION-14
Control de versiones, configuración y cambios
1.2 1.3 1.41.1
2.1 2.2
1.2 1.3 1.41.1
2.1 2.2
1.5
Técnicas de almacenamiento
Deltas inversos (RCS)
![Page 15: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/15.jpg)
CVERSION-15
Control de versiones, configuración y cambios
x x x x xx x x x x
<<1.3,1.2y y y y
>><<1.2
z z z z z zz z z z z z
>>x x x x x
<<1.3t t t
>>x x x x xx x x x x
Técnicas de almacenamiento Marcado selectivo (SCCS)
![Page 16: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/16.jpg)
CVERSION-16
Control de versiones, configuración y cambios
Control de configuración
Evolución de un sistema Añadir componentes Suprimir componentes Modificar componentes
Evolución temporal (revisiones) Evolución espacial (variantes)
![Page 17: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/17.jpg)
CVERSION-17
Control de versiones, configuración y cambios
Ejemplo de evolución de configuración
A
A
A
A
B
B
B C
C
C
C D
D
D
E
Rev. 1
Rev. 2
Rev. 3
Rev. 4
![Page 18: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/18.jpg)
CVERSION-18
Control de versiones, configuración y cambios
Problema de coherencia de versiones
A1
A2
B2
B1
C1
C2
D2
D1
E1
Rev. 1
Rev. 2
Rev. 3
Rev. 4
![Page 19: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/19.jpg)
CVERSION-19
Control de versiones, configuración y cambios
Problema de coherencia de versiones
A1Rev. 1
Rev. 2
Rev. 3
Rev. 4 A2
A2
A1
B2
B2
B1 C1
C1
C1
C2
D1
D2
D2 D2
![Page 20: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/20.jpg)
CVERSION-20
Control de versiones, configuración y cambios
Modelo ortogonal de versiones
A B C D E
componentes
1
2
3
4
revisiones
XY
Zvariantes
Ejemplo de nombrado uniforme: B-X-3 B 1.2
1.2
1.1
1.1
1.2
1.1
2.1
2.2
2.3
1.1 1.1 1.1 1.3
![Page 21: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/21.jpg)
CVERSION-21
Control de versiones, configuración y cambios
Técnicas de nombres en configuraciones
Control de configuración control de versiones + nombrado global
Nombres simbólicos o “tags” Usados por RCS. Una versión de un componente
puede tener varios nombres lógicos (p.ej: “Linux 2.0”, “Linux 2.1”, “Win2K 1.0” ...)
Versiones de directorios Ejemplos: CVS, ClearCase. La configuración se
organiza mediante una jerarquía de directorios, cuyo contenido evoluciona
![Page 22: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/22.jpg)
CVERSION-22
Control de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos
Evolución de la línea base
A1 B1 C1 D1 E1
A2 B2
Cambio 1
Cambio 2
Línea base
![Page 23: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/23.jpg)
CVERSION-23
Control de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos
Evolución de la línea base
A1 B1 C1 D1 E1
A2 B2
Cambio 1
Cambio 2
Línea base
![Page 24: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/24.jpg)
CVERSION-24
Control de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos
Evolución de la línea base
A1 B1 C1 D1 E1
A2 B2
Cambio 1
Cambio 2
Línea base
D E3 F3Cambio 3
![Page 25: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/25.jpg)
CVERSION-25
Control de versiones, configuración y cambios
Desarrollo mediante cambios sucesivos
Evolución de la línea base
A1 B1 C1 D1 E1
A2 B2
E3 F3
Cambio 1
Cambio 2
Línea base
Cambio 3
![Page 26: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/26.jpg)
CVERSION-26
Control de versiones, configuración y cambios
Desarrollo simultáneo de cambios
Cambios 2 y 3 en desarrollo
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2 D E3 F3
Cambio 3
![Page 27: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/27.jpg)
CVERSION-27
Control de versiones, configuración y cambios
Desarrollo simultáneo de cambios
Cambio 2 integrado
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2
D E3 F3Cambio 3
![Page 28: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/28.jpg)
CVERSION-28
Control de versiones, configuración y cambios
Desarrollo simultáneo de cambios
Cambio 3 actualizado
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2
D E3 F3Cambio 3
![Page 29: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/29.jpg)
CVERSION-29
Control de versiones, configuración y cambios
Desarrollo simultáneo de cambios
Cambio 3 integrado
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2
E3 F3Cambio 3
![Page 30: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/30.jpg)
CVERSION-30
Control de versiones, configuración y cambios
Cambios simultáneos de un componente
Cambios 2 y 3 en desarrollo
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2 D3 E3 F3
Cambio 3
D2
![Page 31: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/31.jpg)
CVERSION-31
Control de versiones, configuración y cambios
Cambios simultáneos de un componente
Cambio 2 integrado
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2
D3 E3 F3Cambio 3
D2
![Page 32: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/32.jpg)
CVERSION-32
Control de versiones, configuración y cambios
Cambios simultáneos de un componente
Cambio 3 actualizado
D3’ = D3 + D2 - D1
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2
D3’ E3 F3Cambio 3
D2
![Page 33: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/33.jpg)
CVERSION-33
Control de versiones, configuración y cambios
Cambios simultáneos de un componente
Cambio 3 integrado
Cambio 1
Cambio 2
Línea base
A1 B1 C1 D1 E1
A2 B2
E3 F3Cambio 3
D2
D3’
![Page 34: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/34.jpg)
CVERSION-34
Control de versiones, configuración y cambios
Esperando desarrollo
En integración
Completado
En desarrollo
Anular
Anular
Anular
En revisión
Esperando integración
Nuevo cambio
Inicio desarrollo
Fin desarrollo
Revisión aceptada
Rechazo
RechazoIntegraciónaceptada
Ciclo de vida de cambios (Aegis)
![Page 35: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/35.jpg)
CVERSION-35
Control de versiones, configuración y cambios
Control de versiones: herramienta RCS
fichero,v
ficheroficheroRO RW
co -lco
ci
rlog
![Page 36: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/36.jpg)
CVERSION-36
Control de versiones, configuración y cambios
Control de configuración: herramienta CVS
CVSROOT
add remove
checkout
commit
(update)
edit
abort
![Page 37: CVERSION-1 Control de versiones, configuración y cambios](https://reader033.vdocuments.net/reader033/viewer/2022042714/55350b47550346f41b8b45d3/html5/thumbnails/37.jpg)
CVERSION-37
Control de versiones, configuración y cambios
Control de cambios: herramienta Aegis
Directoriode cambio
Directoriode cambio
Directorio deintegración
Directorio delínea base
Repositorio(historia)