O documento apresenta o sistema de controle de versão Bazaar:
(1) Discutindo o que é Bazaar, como é desenvolvido e quais workflows podem ser utilizados;
(2) Apresentando comandos básicos e exemplos práticos de como iniciar um repositório, realizar commits, branches e merges;
(3) Discutindo instalação, hospedagem e integração com outros sistemas.
2. Gerência de Configuração
Bruno Furtado <brunofurtadoc@gmail.com>
Gerbson Lima <gerbson.lima@gmail.com>
Paula Santos <anapaulasantos.es@gmail.com>
Rhonan Carneiro <rhonanc@gmail.com>
3. O que é o Bazaar?
• Sistema de controle de versão:
o Centralizado;
o Distribuído;
• Desenvolvido pela
• Escrito em
• Distribuição para:
• Lançado em 2005 por Martin Pool.
38. Comandos Básicos do
Bazaar
bzr init > inicia um repositório
bzr branch > cria um branch
bzr add > adiciona arquivos ao repositório
bzr status > exibe as mudanças do branch
atual
bzr merge > envia as mudanças para outro
branch
bzr commit > salva as mudanças
bzr log > exibe o histórico de mudanças
39. Criando um Repositório
$ mkdir meuprimeiroprojeto
$ cd meuprimeiroprojeto/
$ bzr init
Created a standalone tree (format: 2a)
$ ...
Repositório criado! :)
41. Esqueceu os parâmetros
de um comando?
Exibe a ajuda do comando:
bruno-macbook:meuprimeiroprojeto bruno$ bzr help <comando>
42. Identifique-se
• Antes de realizar qualquer commit ou
qualquer ação que irá alterar o projeto, é
necessário que usuário se indentifique.
• No bazaar, é simples:
$ bzr whoami "Seu Nome <Email>"
Ex:
$ bzr whoami "Bruno Furtado <brunofurtadoc@gmail.com>"
$ bzr whoami // para verificar usuário atual
Bruno Furtado <brunofurtadoc@gmail.com>
43. Primeiro Commit
$ echo "Descrição do Meu Primeiro Projeto utilizando
Bazaar" > README.txt
$ bzr add README.txt
adding README.txt
$ bzr status
added:
README.txt
$ bzr commit -m "Meu primeiro commit"
Committing to: ~/meusprojetos/meuprimeiroprojeto/
added README.txt
Committed revision 1.
$ ...
46. Realizando mais
mudanças
$ vim README.txt
$ echo "Preciso de uma descrição melhor" >> README.txt
$ bzr status
modified:
README.txt
$ bzr commit -m "Meu primeiro commit"
Committing to: ~/meusprojetos/meuprimeiroprojeto/
added README.txt
Committed revision 1.
$ ...
47.
48. Apaguei um arquivo ou fiz uma
modificação que não era pra fazer,
como voltar?
$ ls
README.txt
$ rm README.txt
$ ls
$ bzr revert
N README.txt
$ ls
README.txt
$ cat README.txt
Descrição do Meu Primeiro Projeto utilizando Bazaar
Preciso de uma descrição melhor
$ ...
49.
50. Criando branchs
$ bzr branch FROM TO
$ bzr branch ./ ../meuprimeiroprojeto_branch
Branched 2 revisions.
$ cd ../meuprimeiroprojeto_branch/
$ ls
README.txt
$ ls
README.txt
$ bzr log
$ ...
51.
52. Fazendo mais
modificações
$ echo "Fazendo modificações no meu branch" >> README.txt
$ cat README.txt
Descrição do Meu Primeiro Projeto utilizando Bazaar
Preciso de uma descrição melhor
Fazendo modificações no meu branch
$ bzr commit -m "Modificações no branch"
Committing to: ./meuprimeiroprojeto_branch/
modified README.txt
Committed revision 3.
$ ..
53.
54. Como enviar as modificações de
um branch para outro?
$ bzr push :parent
All changes applied successfully.
Pushed up to revision 3.
$ ...
:parent indica que as modificações serão enviadas para o ramo pai
do branch atual.
é possível trocar :parent por um branch especifico local ou não.
55. Como enviar as modificações de
um branch pro outro?
para saber quem é o pai do branch atual, você pode
utilizar o seguinte comando:
$ bzr info
56. Nice! Fiz o push mas o merge deu
merds? #comofaz?
$bzr resolve
61. Qual a diferença do
branch Git e no Bazaar
• Cada novo branch no bazaar fica em uma
nova pasta.
• Os branchs no bazaar, diferentemente do
git, armazenam toda a informação do
repositório.
• ...
62. Configurando Servidor
Existem diversas formas de você compartilhar
seu repositório:
• FTP
• SFTP
• SSH
• Dropbox (http://marcioandreyoliveira.blogspot.com.br/2009/05/get-your-own-bazaar-hosting-service-for.html)
• Serviços de Hospedagens (ex: Launchpad)
64. Registrando-se no
Launchpad
• Criar um email (OK ?!)
• Criar uma chave ssh
• Criar uma chave gpg
http://wiki.ubuntu-br.org/AssinarCodigoDeConduta
• Criar uma conta no Launchpad
http://launchpad.net/
• Importar chaves
• Assinar termo de conduta
67. Exercício
Exercício 01: Você está participando do processo seletivo
da empresa QSoftware, uma nova empresa de software
do Sertão Central. A vaga almejada é a de Gerente de
Configuração. Durante este processo você deverá realizar
algumas atividades, pelas quais estará sendo avaliado. As
atividades serão desenvolvidas utilizando a ferramenta
Bazaar.
Então, desejamos a todos Boa Sorte, e vamos as atividades:
70. Exercício
Adicione o arquivo requisitos.txt
com no mínimo dois os requisitos para
o aplicativo e faça um commit.
71. Exercício
Novos requisitos foram identificados. É
preciso adicioná-los ao documento de
requisitos e dar um novo commit.
Antes de realizar o commit verifique o que
foi alterado no documento;
73. Exercício
Ops!!, o analista de requisitos fez uma confusão!
O documento entregue não é de casos de uso
mas de histórias do usuário!
Desfaça o último commit.
Renome o arquivo casos_de_uso.txt para
historias_de_usuario.txt.
Realize novo commit com a atualização.
74. Exercício
Para realizar as alterações no documento
de requisitos.
o Crie um novo ramo para o projeto.
o Neste Ramo, realize a modificações:
§ Exclua o requisito RF01;
§ Adicione dois requisitos;
§ Realize o commit.
75. Exercício
• A nova versão do documentos de requisitos
foi validado.
• Envie as informações do ramo
secundário para o ramo principal do projeto.
77. Tarefa de Casa
• Crie uma conta no launchpad;
• Crie um projeto no launchpad;
• Neste projeto efetue as mesma atividades
realizadas no exercício feito em sala de aula.
• Links:
https://launchpad.net/
https://help.launchpad.net/YourAccount/
CreatingAnSSHKeyPair