Prévia do material em texto
Controle de Versão • Permite que os artefatos evoluam de forma distribuída, concorrente e disciplinado. • Evita perdas ou sobre posição durante o desenvolvimento e a manutenção do artefato. • Ex.: GIT, SVN, CVS, IBM Relational ClearCase, Microsoft Visual Source Safe. • Repositório: local de armazenamento dos artefatos que estão sob controle da Gerência de Configuração. • Item de configuração: todo artefato produzido e controlado pelo processo da Gerência de Configuração de software. São identificados de maneira única e sua evolução é passível de rastreamento. • Operações: ◦ CHECKIN: submeter itens de configuração para o repositório de cada operação realizada, a versão do item de configuração é incrementada de uma unidade. ◦ CHECKOUT: baixar do repositório cópias de configuração. Políticas de trabalho pessimista e otimista. • Baseline: conjunto de itens de configuração formalmente aprovado que serve de base para as etapas seguintes de desenvolvimento. • Release: uma Baseline, que é um conjunto de itens de configuração formalmente entregue aos clientes ao final de uma interação. • Branch (ramificação: ramificação da linha principal do controle de versão que permite modificações sobre um item de configuração, permitindo realizações em paralelo de forma isolada e independente. • Merge: junção que une as modificações efetuadas em paralelo sobre o mesmo item de configuração e produz a nova versão desse item que contem a soma das modificações. GIT • Um sistema de controle de versão distribuído (Peer-to-peer), desenvolvido por Linus Torvalo. • Cada usuário tem um repositório local que consiste de: ◦ Um diretório de trabalho que contém os arquivos reais. ◦ Um índice que desempenha o papel de uma área de teste. ◦ Um Head que é um ponteiro para o último comentário. • Cada repositório local tem um ramo master. • As operações são atômicas, ou seja, uma ação pode ter exito ou falha (sem fazer nenhuma alteração). • Comandos: ◦ GIT INIT : criar um repositório local. ◦ GIT CLONE : clonar um repositório local ou remoto. ◦ GIT ADD : Adicionar um item ao repositório local. ◦ GIT COMMIT : gravar as mudanças do Head. ◦ GIT PULL : empurra as mudanças para um repositório remoto. ◦ GIT PUSH : atualiza o repositório Local SUBVERSION • Um sistema de controle de versão centralizado (Cliente-servidor) desenvolvido para substituir o CVS. • As transações entre cliente servidor segue a instrução “tudo ou nada”. • Gerencia todos os tipos de arquivos, inclusive diretórios. • Tem suporte para acesso transparente via protocolo HTTP. • Comandos: ◦ SVN ADD: adiciona um arquivo ou diretório ao controle de versão. ◦ SVN COMMIT: grava as mudanças no servidor. ◦ SVN UPDATE: sincroniza um repositório do servidor.