Introdução

editar

Bazaar é um sistema de controle de versões descentralizado, serve para seguir o processo de evolução de código de software ou informação semelhante. A filosofia de concepção deste programa é dar o máximo de liberdade ao utilizador para fazer as alterações que forem necessárias.

O Bazaar está escrito em Python e está licenciado segundo a licença de software livre GNU General Public License|GPL, sendo a sua versão atual a 2.3.4.

História

editar

O projeto Bazaar era inicialmente um projeto piloto de features que seriam posteriormente integradas a um antigo sistema de controle de versão chamado Baz. No entanto, este projeto foi abandonado devido ao fato de muitos dos principais desenvolvedores do projeto Baz terem migrarado para o Bazaar. Então, em janeiro de 2005, estabeleceu-se o site público oficial e uma lista de discussão do projeto, e logo em seguida, foi feito o primeiro pré-lançamento da ferramenta, 0.0.1 em Março daquele mesmo ano.

A versão 1.0 do Bazaar foi lançada em Dezembro de 2007. Em fevereiro de 2008 ele se tornou um projeto GNU. Em meados de 2012 alguns membros do grupo Canonical foram designados a outras tarefas e assim a atividade do projeto diminuiu consideravelmente. Em março de 2013 uma discussão no projeto GNU Emacs quetionava se o Bazaar ainda recebia atualiações e se não seria melhor migrar para uma outra ferramenta de controle de versão, o que acabou acontecendo em 2014 com a migração do GNU Emacs para o git. Da mesma forma o projeto Bugzilla aposentou o Bazaar em prol do git no mesmo ano, afirmando que o Bazaar dava a impressão de que estava quase "morto", com apenas 2 ou 3 commits a cada mês, o tempo para consertar bugs no Bazaar era longo.

Comunidade

editar

Atualmente o principal forge dedicado ao Bazaar é o Launchpad criado pela Canonical para incentivar a utilização distribuída do sistema de controle de versões, portanto a grande maioria da comunidade do Bazaar se concentra e mantem projetos nesse forge.

Instalação

editar

O Bazaar está disponível para a maioria das distribuições GNU/Linux incluindo Ubuntu, Debian, Red Hat e Gentoo e também para Windows.

Instalação GNU/Linux

editar

Ubuntu e derivados

editar

Adicione a URL desejada para o arquivo /etc/apt/sources.list

URL Versão
https://launchpad.net/~bzr/+archive/ppa stable
https://launchpad.net/~bzr/+archive/beta beta
https://launchpad.net/~bzr/+archive/daily daily

Logo em seguida, digite no terminal:

sudo apt-get update && sudo apt-get install bzr

Debian

editar
sudo apt-get -t lenny-backports install bzr

Fedora

editar
su -c "yum install bzr"

ArchLinux

editar
sudo pacman -S bzr

Instalação Windows

editar

Download e instale o standalone, o pacote já vem com interfaces gráficas.

Servidor

editar

O servidor de Bazaar pode ser um simples sistema de arquivos remoto através dos protocolos HTTP, FTP, SFTP and HTTP-WebDAV.
Ou rodar um servidor dedicado através do comando:

bzr serve --port=<host>:<port> --directory=/home/user/repo

Comandos Básicos

editar
  • Configurar usuário

Para configurar o usuário basta executar o seguinte comando substituindo o nome e o e-mail onde necessário:

bzr whoami "Nome <email@exemplo.com>"
  • Inicializar repositório

Um repositório é inicializado através do comando:

bzr init-repo exemplo

Onde "exemplo" representa o nome do repositório.
Com o repositório criado agora basta criar a branch principal, trunk e navegar para ela:

bzr init exemplo/trunk
cd exemplo/trunk
  • Adicionar arquivos

Para adicionar um arquivo chamado exemplo1.txt basta executar o seguinte comando:

bzr add exemplo1.txt
  • Submeter mudanças

Com os arquivos adicionados, para submeter as mudanças e definir uma mensagem para as mesmas, utiliza-se o comando:

bzr commit -m "Arquivo modificado"
  • Ver histórico de mudanças

Para verificar o histórico de modificações basta apenas executar o comando:

bzr log
  • Copiar branch

Para fazer uma cópia de uma branch localizada em um diretório Ex: /home/mary/cool-repo/cool-trunk

bzr branch /home/mary/cool-repo/cool-trunk nome_da_nova_branch

Podendo substituir a primeira branch com uma branch remota.

  • Atualizar branch local

Para atualizar uma branch com a sua branch de referência utilize o comando

bzr merge

Para atualizar uma branch com outra branch utilize o comando

bzr merge caminho_da_branch

Bazaar GUI

editar

o Bazaar possui uma poderosa interface gráfica, desenvolvida tanto para experts quanto para iniciantes. Compatível com Linux, Windows e Mac, os usuários não precisam se prender a uma linha de comandos.

Vantagens e Desvantagens

editar

A maior vantagem deste sistema é a flexibilidade de modos de clonagem, podendo trabalhar tanto com checkouts (como o SVN e CVS) ou com branchs (como o Git) e possui também integração através de plugins. A comunidade Bazaar também afirma que este sistema de controle de versão tem uma curva de aprendizado bem menor comparado a outros como Git, Mercurial e SVN.

Uma das desvantagens é o desempenho que, comparado ao sistema Git, é bastante inferior em praticamente todas as operações e também utiliza mais espaço em disco para um repositório. Além disso a comunidade e a quantidade de forges que suportam este sistema de controle de versões é bem pequena, se comparado a outros sistemas.

Plugins

editar

O Bazaar foi construído sob uma arquitetura de plugins, o que possibilita uma extensão e adição de funcionalidades como integração com git, cvs e outras ferramentas. A lista de plugins disponíveis pode ser consultada em: http://wiki.bazaar.canonical.com/BzrPlugins