Utilizando Bazaar para Controle de Versão
Introdução
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]Para a instalação no Windows siga os seguintes passos:
- Faça o download da versão Standalone desejada; [2]
- 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;
- Verifique se as configurações estão corretas e selecione "Install";
- Espere a conclusão da instalação;
- Ao concluir a instalação selecione "Finish";
Pronto, sua ferramenta está pronta para usar. Você já pode selecionar o atalho criado e começar a utilizar a ferramenta normalmente;
Ubuntu
[editar | editar código-fonte]Digite o seguinte comando no terminal:
sudo apt install bzr
Debian
[editar | editar código-fonte]Digite o seguinte comando no terminal:
sudo apt-get -t lenny-backports install bzr
Configuração
[editar | editar código-fonte]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 | editar código-fonte]$ 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 | editar código-fonte]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 | editar código-fonte]Vantagens
[editar | editar código-fonte]- 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 | editar código-fonte]- Velocidade
- Eficiência
- Segurança
Plugins
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]Os projetos de destaque que usam Bazaar para controle de versão são:
- GNU
- Linux Foundation
- MySQL
- Bugzila
- GNU Mailman
- Debian
- MariaDB
- Drizzle
- KiCad
- Ubuntu
- Armagetron Advanced
- Inkscape
- Squid
- Stellarium BigDFT*Beautiful Soup
- Midori
Referências
[editar | editar código-fonte]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