46
Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta [email protected]

Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Gerência de Configuração: Terminologia

Leonardo Gresta Paulino Murta

[email protected]

Page 2: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 2

Item de configuração

• Agregação de hardware e/ou software que será passível de gerência de configuração e tratado como um elemento único

• Tipos de ICs

– Produtos de trabalho do projeto

– Produtos de trabalho de processos

• Exemplos: plano de GC, requisitos, modelos, código-fonte, etc.

Page 3: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 3

Item de configuração

• A seleção de ICs deve levar em conta princípios como acoplamento e coesão

• ICs com alto acoplamento tornam complexo o processo de construção

– Muitas dependências para outros ICs

• ICs com baixa coesão tornam o processo de desenvolvimento complexo

– Vários desenvolvedores concorrendo para modificar o IC

• GCS é altamente beneficiada por sistemas com arquitetura corretamente definida

Page 4: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 4

Item de configuração

Sistema

Subsistema

Procedimento

Módulo

Gran

ularid

ade

Grossa

Fina

Comando Parágrafo

Seção

Documento Programa

Perspectiva: Desenvolvimento Gerencial

Linha

Arquivo

Diretório

Processo

Necessid

ade d

e ferram

en

tas

Menor

Maior

Page 5: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 5

Item derivado

• Item de configuração que pode ser obtido a partir de outro item de

configuração (item fonte)

• Exemplo

– Os itens de configuração que compõem o código-fonte são itens fonte

para o programa executável, que é item derivado

• Estratégias

– Versionamento do item derivado

– Documentação do processo de derivação (roteiro, ferramentas,

ambiente, etc.)

Page 6: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 6

Construção (building)

• Processo de compilação do sistema a partir dos

itens fonte para uma configuração alvo

• Utiliza arquivo de comandos que descreve como

deve ocorrer a construção

• Exemplo: makefile, build.xml, pom.xml

• Os arquivos de comandos também devem ser

considerados itens de configuração

Page 7: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 7

Versões

• Instâncias de um mesmo item de configuração que diferem entre si em algo

• Revisões: versões criadas para substituir versões anteriores seguindo uma linha temporal (e.g., em resposta a correção ou evolução)

• Variantes: versões coexistentes, projetadas para propósitos distintos (e.g., em resposta a diferentes arquiteturas de hardware ou sistemas operacionais)

Page 8: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 8

Versões

[Pressman, 1997] ICs, versões e variantes

Variantes

ICs

Versões

IC

1.0

IC

1.1

IC

1.2

IC

1.1.1

IC

1.1.2

IC

1.3

IC

2.0

IC

1.4

IC

2.1

A1 A2 A3

A4’ A4’’

Page 9: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Sistema de Gerência de Configuração

Leonardo Murta Gerência de Configuração: Terminologia 9

Versão 1

Versão 2

Versão 3

Versão 4

Versão 5

Page 10: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Sistema de Gerência de Configuração

Leonardo Murta Gerência de Configuração: Terminologia 10

Versão 1

Versão 2

Versão 3

Versão 4

Versão 5

Page 11: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Sistema de Gerência de Configuração

Leonardo Murta Gerência de Configuração: Terminologia 11

Versão 1

Versão 2

Versão 3

Versão 4

Versão 5

Page 12: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Sistema de Gerência de Configuração

Leonardo Murta Gerência de Configuração: Terminologia 12

Artefatos

Controle de Versões

Construção e Release

Controle de Modificações

Solicitações

Page 13: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Controle de versões

Leonardo Murta Gerência de Configuração: Terminologia 13

Armazenamento?

Colaboração?

Consulta?

Topologia?

IC

Repositório

Page 14: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

O Repositório

• Local onde os ICs são armazenados – Armazena o histórico do projeto – Controle na entrada e saída de ICs – Poucos por projeto (normalmente, somente um)

• Utiliza diferentes mecanismos de armazenamento – Versionamento completo – Versionamento de diferenças (delta)

• Utiliza diferentes mecanismos de controle de concorrência – Pessimista – Otimista – Misto

• Permite a geração de diferentes relatórios – Por item de configuração – Por modificação

Gerência de Configuração: Terminologia 14 Leonardo Murta

Page 15: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Topologia

Leonardo Murta Gerência de Configuração: Terminologia 15

Repositório

Espaço de Trabalho

Centralizado Distribuído

chec

k-in

/ c

om

mit

che

ck-ou

t / up

date Repositório

Espaço de Trabalho ch

eck

-in

che

ck-ou

t / up

date

Repositório

Espaço de Trabalho

clon

e / pu

ll

pu

sh

Page 16: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 16

Armazenamento

• Versionamento completo – Demanda grande espaço em disco

– Permite rápida recuperação dos ICs

• Versionamento de diferenças – Reduz o espaço requerido em disco

– Qualquer versão pode ser derivada a partir da aplicação dos deltas sobre a versão base

– Pode demandar grande carga de processamento para recuperar ICs

– Tipos existentes: forward, reverse e in-line

Page 17: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Armazenamento

Leonardo Murta Gerência de Configuração: Terminologia 17

v.3

v.2

v.1

Completo

delta 12

v.1

Forward

delta 23

delta 32

v.3

Reverse

delta 21

In-line

v.1 v.2/3

v.1/2 v.3

Page 18: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 18

Colaboração • Controle de concorrência pessimista

– Somente um desenvolvedor pode modificar o IC em um dado momento – Custo zero de junção de trabalho – Ausência de paralelismo no desenvolvimento

• Controle de concorrência otimista – Vários desenvolvedores pode modificar um mesmo IC ao mesmo tempo – Alto custo de junção de trabalho no caso de ICs complexos (e.g.: IC binários) – Permite paralelismo no desenvolvimento

• Controle de concorrência otimista com notificação – Permite que qualquer desenvolvedor saiba quem mais está modificando o IC – Bom custo/benefício entre controle otimista e pessimista

Page 19: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Colaboração

Leonardo Murta Gerência de Configuração: Terminologia 19

m.3

m.2

m.1

Pessimista

junção

m.1

Otimista Misto

m.2 m.3

junção

m.1 m.2 m.3

Page 20: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Consulta

Leonardo Murta Gerência de Configuração: Terminologia 20

Repositório (versão 1) Artefato1 (versão 1) Artefato2 (versão 1) Artefato3 (versão 1)

Repositório (versão 2) Artefato1 (versão 2) Artefato2 (versão 1) Artefato3 (versão 1)

Repositório (versão 0)

Repositório (versão 3) Artefato1 (versão 2) Artefato2 (versão 3) Artefato3 (versão 1) Artefato4 (versão 3)

Repositório (versão 4) Artefato1 (versão 4) Artefato2 (versão 3) Artefato3 (versão 4) Artefato4 (versão 3)

Artefato1 Versão 1 Versão 2 Versão 4

Artefato2 Versão 1 Versão 3

Artefato3 Versão 1 Versão 4

Artefato4 Versão 3

Consulta por artefato

1ª modificação

2ª modificação

4ª modificação 3ª modificação

Page 21: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Consulta

Leonardo Murta Gerência de Configuração: Terminologia 21

Repositório (versão 1) Artefato1 (versão 1) Artefato2 (versão 1) Artefato3 (versão 1)

Repositório (versão 2) Artefato1 (versão 2) Artefato2 (versão 1) Artefato3 (versão 1)

Repositório (versão 0)

1ª modificação

2ª modificação

Repositório (versão 3) Artefato1 (versão 2) Artefato2 (versão 3) Artefato3 (versão 1) Artefato4 (versão 3)

Repositório (versão 4) Artefato1 (versão 4) Artefato2 (versão 3) Artefato3 (versão 4) Artefato4 (versão 3)

4ª modificação 3ª modificação

1ª modificação Artefato1 adicionado Artefato2 adicionado Artefato3 adicionado

2ª modificação Artefato1 modificado

3ª modificação Artefato2 modificado Artefato4 adicionado

Consulta por modificação

4ª modificação Artefato1 modificado Artefato3 modificado

Page 22: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Consulta

Leonardo Murta Gerência de Configuração: Terminologia 22

Item de Configuração

Versão

1

*

Modificação

*

1

Arquivo 5 Versão 1 Versão 2 Versão 4

Modificação 4 Arquivo 2 Arquivo 5 Arquivo 7

Page 23: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 23

Espaço de trabalho

• Local onde o usuário pode fazer seu trabalho de forma isolada

– Armazena um momento específico do projeto

– Controle sobre quando sincronizar com o repositório

– Muitos por projeto (normalmente, um ou mais por

desenvolvedor)

– Sinônimo: caixa de areia (sandbox)

Page 24: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 24

Configuração

• Um conjunto de versões de ICs, onde existe somente uma versão selecionada para cada IC do conjunto

• Uma configuração pode ser vista como um IC composto de outros ICs

• Exemplos – Configuração do sistema

– Configuração do processo

– Configuração do módulo X

– Configuração dos requisitos do sistema

– Configuração do código fonte

Page 25: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 25

Configuração x versão

Configuração

Versão

IC composto IC primitivo

IC

• Genericamente

– O sistema S é composto pelos arquivos X, Y e Z

• Concretamente

– A configuração 5 do sistema S é composta pela versão 2 do arquivo X, versão 4 do arquivo Y e versão 6 do arquivo Z

Page 26: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 26

Rótulo (label) • Mecanismo usado para identificar uma configuração

– As diversas versões de ICs marcadas com um rótulo constituem uma configuração

do sistema

• Permite identificar níveis de qualidade dos ICs

• Sinônimo: etiqueta (tag)

1.1

1.2

1.3

AloMundo.java

1.1

1.2

1.3

BemVindo.java

1.1

1.2

build.xml

1.1

1.2

Usuario.java

RECUSADA

ACEITA

Rótulos

Page 27: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 27

Configuração x versão IC composto

Conf. 1

Conf. 2

Conf. 3

IC primitivo 1 IC primitivo 2 IC primitivo 3

V.1

V.2

V.3

V.4

V.1

V.2

V.1

V.2

V.3

Page 28: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 28

Baseline

• Configuração revisada e aprovada que serve como base para uma

próxima etapa de desenvolvimento e que somente pode ser

modificada via processo formal de GCS

• São estabelecidas ao final de cada fase de desenvolvimento:

análise (functional), projeto (allocated) e implementação (product)

• Momento de criar: balanceamento entre controle e burocracia

Page 29: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 29

Baseline

Tarefas de

engenharia

de software

ICs

Revisões

técnicas

formais

ICs

modificados

Controle

de GC ICs

ICs

aprovados

extraídos

ICs

armazenados

[Pressman, 1997] Processo de atualização de configurações de referência

Page 30: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 30

Baseline (níveis de controle)

Coordenação c/ auditoria

Controle

Pré baseline: •Informal •Sem requisição •Sem aprovação •Sem verificação •Ágil •Ad-hoc

Pós baseline: •Formal •Com requisição •Com aprovação •Com verificação •Burocrático •Planejado

Nível de controle

Page 31: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Baseline (níveis de controle)

Requisito 1 Análise Projeto Baseline 1:

•An. Req. 1

Requisito 2 Análise Projeto

Tempo

Req. Análise Projeto Análise Projeto Análise Projeto

1 Inform. - Formal Inform. Formal Formal

2 - - Inform. - Formal Inform.

Baseline 2: •An. Req. 1 •Pr. Req. 1 •An. Req. 2

Leonardo Murta Gerência de Configuração: Terminologia 31

Page 32: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 32

Liberação (release)

• Substantivo: Versão disponibilizada para um propósito específico

• Verbo: Notificação formal e distribuição de uma versão aprovada

• Importante

– Toda liberação é uma versão

– Nem toda versão é uma liberação

• Em alguns casos liberações podem ser desenvolvidas em paralelo (time to market)

• Exemplos

– Liberação para testes de sistema

– Liberação para homologação

– Liberação para entrega ao cliente

Page 33: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 33

Exemplo de liberações

1.1

1.2

1.3

1.4

1.5

AloMundo.java

1.1

1.2

1.3

1.4

1.5

BemVindo.java

1.1

1.2

build.xml

1.1

1.2

1.3

Usuario.java

rel_1-0-0

rel_1-0-1

rel_1-1-0

1.6

Rótulos

HEAD

Page 34: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 34

Ramos (branches)

• Versões que não seguem a linha principal de desenvolvimento

• Fornecem isolamento para o processo de desenvolvimento

– Ramos usualmente são migrados à linha principal de desenvolvimento

– A migração pode ser complicada no caso de isolamento longo

• O espaço de trabalho de um desenvolvedor pode ser visto como um ramo

– Extremamente isolado (ramos são compartilhados por outras pessoas)

– Que reside no cliente (ramos residem no servidor)

– Que são momentâneos (ramos são históricos)

– Que são temporários (ramos são permanentes)

Page 35: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 35

Exemplo de ramo

1.2

AloMundo.java

1.2

BemVindo.java

1.1

build.xml

1.1

Usuario.java

rel_1-0-0

Rótulo

remendos_rel_1-0-0

1.2.2.1 1.2.2.1 1.1.2.1 1.1.2.1

Ramo

... ... ... ...

Page 36: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 36

Junção • Processo de migração de

– Espaços de trabalho

– Ramos

• É necessário inclusive em desenvolvimento seqüencial (check-out reservado) quando são utilizados ramos

• Algoritmos automáticos se dividem em duas categorias – Genéricos (servem para qualquer linguagem)

– Específicos (levam em conta a estrutura semântica da linguagem)

Page 37: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 37

Junção • As ferramentas de GCS usualmente utilizam algoritmos

genéricos

– 2-way merge

– 3-way merge

Linha 1 Linha 2 Linha 3

Linha 1’ Linha 2

<Linha 1> ou <Linha 1’>? Linha 2 <Linha 3> ou nada?

Linha 1 Linha 2 Linha 3

Linha 1’ Linha 2

Linha 1’ Linha 2 Linha 3

Linha 1 Linha 2

Page 38: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 38

Exemplo de junção

1.1 1.2 1.3 1.4 1.5 BemVindo.java

1.2.2.1 1.2.2.2

2

1

1.6

1.6 = 1.2 + 1 + 2

• A junção é efetuada para cada artefato do ramo

• São levadas em consideração todas as modificações desde o ancestral em comum

Page 39: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 39

Exemplo de junção (incremental)

1.2 1.3 1.4 1.5

AloMundo.java

1.2.2.1 1.2.2.2

2

1

1.6

• O que fazer quando o ramo continua evoluindo mesmo depois da junção?

1.7 1.8

3

1.2.2.3 1.2.2.4

4

Page 40: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 40

Exemplo de junção (incremental)

1.2 1.3 1.4 1.5

AloMundo.java

1.2.2.1 1.2.2.2

2

1

1.6 1.7 1.8

3

1.9

1.2.2.3 1.2.2.4

4

1.9 = 1.6 + 3 + 4

rel_1-0-1 rel_1-0-2

HEAD

BASE

Page 41: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 41

Conflitos

• Situação onde não é possível executar a junção de forma automática

• Tipos – Físico (linha do arquivo)

– Lógico (sintaxe do arquivo)

– Semântico (conteúdo do arquivo)

• O suporte atual concentra no nível físico!

• Exemplos de conflitos físicos – Alterações em paralelo de uma mesma linha

– Remoção e alteração em paralelo de uma mesma linha

– Adições de linhas em paralelo na mesma região do arquivo

Page 42: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 42

Conflitos no vi

Page 43: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 43

Conflitos no Eclipse

Page 44: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 44

Conflitos no NetBeans

Page 45: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Leonardo Murta Gerência de Configuração: Terminologia 45

Conflitos no JBuilder

Page 46: Gerência de Configuração: Terminologialeomurta/courses/2012.1/gc-ufac/aula3.pdf · 2020. 2. 3. · Leonardo Murta Gerência de Configuração: Terminologia 2 Item de configuração

Gerência de Configuração: Terminologia

Leonardo Gresta Paulino Murta

[email protected]