Utilizando Bazaar para Controle de Versão

Introdução

editar

Um sistema de controle de versões VCS (do inglês version control system) é utilizado para rastrear alterações durante o desenvolvimento de um projeto ou a elaboração de um documento de texto. O VCS possibilita analisar o histórico do desenvolvimento, e resgatar versões mais antigas e estáveis. Em contexto acadêmico é comum realizar projetos independentes de muitas pessoas porque os desenvolvedores ainda estão iniciando a aprendizagem e usam a possibilidade de criar para dominar uma linguagem ou desenvolver algo de seu interesse e não uma obrigação de se resolver grandes problemas. Já no contexto do mercado de trabalho, os projetos tem que resolver problemas da empresa que estão inseridos em escalas bem maiores, e como organizar a construção de um software com mais de 200 pessoas trabalhando ao mesmo tempo? Uma solução é trabalhar em equipe, controlar o histórico, marcar e resgatar versões estáveis e elaborar ramificação de projeto é através de um sistema de controle de versões. Existem muitas ferramentas de sistema de controle de versões, tais como Github, Gitlab, Bazaar, Mercurial.

Sobre a ferramenta

editar

Bazaar é uma ferramenta de controle de versões seguindo o processo de evolução de código, foi escrita em Python, e está licenciado segundo a licença de software livre GPL(General Public License). Ao utilizar o Bazaar você pode hospedar o seu código para tornar possivel visualizá-lo de maneira online como o Launchpad.

Instalação

editar

Estão disponíveis no site [1], os guias de instalação da ferramenta Bazaar dentre as quais é possível escolher qual o sistema utilizado e a versão desejada, podendo escolher desde uma versão mais estável à versões beta

Windows

editar

Para a instalação no Windows siga os seguintes passos:

  • Faça o download da versão Standalone desejada; [2]
 
Instalação Bazaar passo 1
  • Clique no executável e selecione a pasta aonde deseja instalar e as configurações básicas da ferramenta, sempre selecionando "Next" ao final de cada verificação;
 
Instalação Bazaar passo 2
 
Instalação Bazaar passo 3
 
Instalação Bazaar passo 4
 
Instalação Bazaar passo 5
 
Instalação Bazaar passo 6
 
Instalação Bazaar passo 7
  • Verifique se as configurações estão corretas e selecione "Install";
 
Instalação Bazaar passo 8
  • Espere a conclusão da instalação;
 
Instalação Bazaar passo 9
  • Ao concluir a instalação selecione "Finish";
 
Instalação Bazaar passo 10

Pronto, sua ferramenta está pronta para usar. Você já pode selecionar o atalho criado e começar a utilizar a ferramenta normalmente;

Ubuntu

editar

Digite o seguinte comando no terminal:

sudo apt install bzr

Debian

editar

Digite o seguinte comando no terminal:

sudo apt-get -t lenny-backports install bzr

Configuração

editar

Para se identificar ao Bazzar basta utililizar o camando whoami, da seguinte maneira:

$ bzr whoami 'Maria Silva <maria.silva@gmail.com>

Comandos Básicos

editar

$ bzr init - torna este diretório em um ramo versionado;

$ bzr branch - faz uma cópia de outro ramo;

$ bzr add - versiona arquivos ou diretórios;

$ bzr ignore - ignora um arquivo ou padrão;

$ bzr mv - move ou renomeia um arquivo versionado;

$ bzr status - sumariza as alterações na cópia de trabalho;

$ bzr diff - mostra diffs detalhados;

$ bzr merge - puxa alterações de outro ramo;

$ bzr commit - salva algumas ou todas as alterações;

$ bzr send - envia as alterações por email;

$ bzr log - mostra o histórico de alterações;

$ bzr check - valida o armazenamento;

$ bzr help - para aprender comandos básicos;

$ bzr help foo - para aprender mais sobre o comando foo;

$ bzr help init - mais ajuda em, por exemplo, comando init;

$ bzr help commands - lista todos os comandos;

$ bzr help topics - lista todos os tópicos de ajuda.

Comandos Avançados

editar

No caso de um projeto com várias ramificações que estão todos relacionados, o melhor é usar um repositório compartilhado para manter todos os ramos. Para configurar isso, basta fazer:

$ cd /srv/bzr
$ bzr init-repo --no-trees projectx

Se Bazaar não está instalado no caminho do usuário ou não especificado na configuração do SSH, em seguida, um caminho pode ser especificado do cliente com o BZR_REMOTE_PATH variável de ambiente. Por exemplo, se o arquivo executável do Bazaar está instalado em /usr/local/bzr-2.0/bin/bzr, em seguida, um desenvolvedor poderia usar:

$ BZR_REMOTE_PATH = / usr / local / bzr-2.0 / bin / bzr bzr info \
bzr + ssh: //server.example.com/srv/bzr/proectx/trunk

para obter informações sobre o ramo da branch.

Se os desenvolvedores têm diretórios home no servidor, eles podem usar / ~ / em URLs para se referir ao seu diretório home. Eles podem também usar / ~ / Username para se referir ao diretório home do usuário. Por exemplo, se houver duas desenvoldoras Julliana e Iolane, Em seguida, Iolane poderia usar:

$ Bzr log bzr + ssh: //server.example.com/~/fix-1023

para se referir a um de seus ramos bug fixos e:

$ Bzr log bzr + ssh: //server.example.com/~julliana/fix-2047

para se referir a um dos ramos de Julliana

Bazaar vs. Git

editar

Vantagens

editar
  • Suporte para Windows com interface agradável de maneira a facilitar a execução de comandos
  • Suporte direto para mais fluxos de trabalho
  • Arquitetura pra plugins
  • Similaridade com vocabulário de controladores de versões antigos
  • Branches são diretórios
  • Versiona diretórios vazios

Desvantagens

editar
  • Velocidade
  • Eficiência
  • Segurança

Plugins

editar

Plugin é um componente externo a aplicação que estendem as suas funcionalidades adicionando ou substituindo código. Plugins podem fazer uma variedade de coisas, incluindo substituindo comandos, acrescentando novos comandos, fornecendo transportes de rede adicionais, personalizar a saída do log, etc. Estão disponíveis para o Bazaar diversos plugins para web, desktop, notificação de mudanças, publicação, controle de mudanças, exploração de historico, produtividade, gerencia de pacotes, diagnósticos, testes, entre outros, todos disponíveis no site do Bazaar.[3]

Launchpad

editar

Launchpad é um sistema colaborativo desenvolvido pela Canonical, e usado para auxiliar no desenvolvimento, manutenção e acompanhamento de bugs de software, é utilizado principalmente para software livre como o Ubuntu, OpenStack, Inkscape, MySQL, entre outros. Launchpad pode ser usado sem o Bazaar, e vice-versa, mas mesmo sendo muito útil como um sistema stand-alone, o Bazaar tem uma boa integração com o Launchpad.

Projetos que utilizam Bazaar

editar

Os projetos de destaque que usam Bazaar para controle de versão são:

Referências

editar

Controle de versões -- https://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%B5es

Instalação Ubuntu -- https://help.ubuntu.com/lts/serverguide/bazaar.html

Instalação Windows -- http://wiki.bazaar.canonical.com/WindowsDownloads#The_Standalone_Installer

Launchpad -- https://insights.ubuntu.com/2015/12/10/using-bcache-for-performance-gains-on-the-launchpad-database-servers/

Bazaar plugin registry -- http://wiki.bazaar.canonical.com/BzrPlugins