Bazaar
Introdução
editarBazaar é 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
editarO 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
editarAtualmente 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
editarO 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
editarUbuntu e derivados
editarAdicione 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
editarsudo apt-get -t lenny-backports install bzr
Fedora
editarsu -c "yum install bzr"
ArchLinux
editarsudo pacman -S bzr
Instalação Windows
editarDownload e instale o standalone, o pacote já vem com interfaces gráficas.
Servidor
editarO 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
editaro 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
editarA 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
editarO 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