SISTEMA DE CONTROLE DE VERSÃO: BAZAAR Carolina Ramalho Priscilla Gonçalves O QUE É O BAZAAR? O QUE É O BAZAAR? Bazaar é um software de sistema de controle de versão Rastreamento do histórico do projeto ao longo do tempo Colaboração É um software livre escrito em Python É parte do Projeto GNU/Linux É patrocinado pela Canonical O QUE É O BAZAAR? A última versão do Bazaar é a 2.6 foi lançado no dia 27 de julho de 2013 e marca o início de uma nova série estável. CARACTERÍSTICAS DO BAZAAR CARACTERÍSTICAS DO BAZAAR Ferramenta acessível Linguagem simples e objetiva Tutoriais de instalação e suporte/ajuda ao usuário Fácil de aprender e usar Ex: Lendo e comparando a ajuda para o comando log entre as várias ferramentas: log bzr: 4 páginas log svn: 1 página git log: 26 páginas CARACTERÍSTICAS DO BAZAAR Diversos tipos de trabalho: Individual: CARACTERÍSTICAS DO BAZAAR Pareado: CARACTERÍSTICAS DO BAZAAR Centralizado: Esta é basicamente a mesma forma de trabalho do CVS e Subversion. CARACTERÍSTICAS DO BAZAAR Centralizado com commits locais: CARACTERÍSTICAS DO BAZAAR Descentralizado com uma linha principal compartilhada: Nesta forma, cada desenvolvedor tem seu ramo de trabalho mas commitam no ramo principal. CARACTERÍSTICAS DO BAZAAR Descentralizado com um supervisor humano: CARACTERÍSTICAS DO BAZAAR Descentralizado com um supervisor automático: Os desenvolvedores só tem acesso de leitura ao ramo principal e um software supervisor tem permissão de escrita, e este roda os testes antes de combinar os códigos. CARACTERÍSTICAS DO BAZAAR Trabalha com branches vinculados Enquanto o Subversion só irá verificar se os arquivos alterados são atualizados localmente, o Bazaar vai garantir que toda a “árvore” está atualizada antes de commitar em um branch. Ao contrário de “empurrar” (push) a modificação após um commit, um branch vinculado: Verifica se você está em dia com o repositório central, antes de fazer o commit. Efetivamente faz o commit centralmente antes de permitir o commit local para ter sucesso, reforçando o desenvolvimento em sintonia com a verdade. CARACTERÍSTICAS DO BAZAAR Oferece suporte a várias plataformas Instaladores específicos e documentação estão disponíveis. CARACTERÍSTICAS DO BAZAAR Merging seguro As formas de solucionar conflitos de versões do Bazaar são: Suporta "fusão polvo" - fusão de mais de duas revisões do pai. É possível dar um merge usando outro algoritmo para ver se isso produz um resultado melhor. Merge no Bazaar é seguro. É sempre possível que uma fusão seja boa textualmente, mas semanticamente errada. Após a fusão, é possível executar os testes automatizados e confirmar que eles passam antes de commitar e submeter o código. CARACTERÍSTICAS DO BAZAAR A interoperabilidade com projetos que utilizam outros tipos de sistema de versionamento é facilitada quando se utiliza o Bazaar. A meta é que seja possível uma pessoa utilizar o Bazaar em qualquer projeto. Ex.: É possível uma pessoa manter o tronco de desenvolvimento de um projeto no Subversion e importar constantemente esse projeto para o Bazaar, onde seriam feitas as modificações. Esse aspecto é bastante interessante para uma migração, pois é possível manter os projetos no sistema de versionamento antigo e os novos no Bazaar. FIM