Mercurial
Minha experiência com Mercurial Hg
1
Olá pessoal, este post é sobre como está sendo adotar o Hg no trabalho e nos projetos pessoais.
Essa história começou mais ou menos a 1 ano quando conheci o Git. Durante muito tempo eu usei Team Foundation Server(Eu sei que é ALM, estou me referindo basicamente ao source control do TFS) para projetos privados e open source , não posso falar que sempre senti falta de um servidor de código fonte distribuído. Pra falar a verdade não sabia muito sobre esse modelo então basicamente o que me incomoda no TFS é a ferramenta de merge(eu sei que é plugável) e o custo da ferramenta. Quando conheci o GIT gostei muito da velocidade e qualidade do merge além do fato de ser free. Comecei a usar git nos projetos pessoais e logo após já estava tentando implantar o DVCS no trabalho. Nesse meio tempo não consegui justificar a ferramenta(não sabia o suficiente para isso) e alguns outros fatores políticos da empresa dificultaram a migração.
Implementação
No início de 2011 já com mais conhecimento sobre a ferramenta pressionei para implementarmos no trabalho e a galera topou testar a ferramenta. Fui responsável por configurar uma maquina e logo descobri que a integração com windows não era muito simples, e que na verdade a feramenta não foi projetada para esse sistema. Tínhamos a possibilidade de usar o GitHub mas o pessoal de Infra queria hospedar lá.. Nesse meio tempo rolou o Microsoft WebCamps e tive a oportunidade de conhecer a galera do devisland e lá mesmo colocamos uma aplicação no bitbucket e começamos a testar, o resultado foi excelente e na semana seguinte já estava testando com a equipe da ASKSoftware. A gerência concordou em usar o bitbucket e então tudo estava pronto!
O que foi preciso para começar
O primeiro passo foi criar a conta no bitbucket e instalar o tortoisehg, alguns instalaram plugins como o VisualHG e como referência usamos o HgInit.com e um dos livros que acompanha o tortoise: Mercurial The Definitive Guide
Adaptação da equipe
O background da galera .NET infelizmente envolve usar ferramenta visual. Esse requisito foi cumprido através do TortoiseHG e de plugins para VS. Começamos a usar a ferramenta, eu e Rodrigo Vidal ensinamos ao pessoal usando a linha de comando até pela simplicidade(e pelo fato de não sabermos usar a ferramenta tão bem). A partir desse momento o Hg já era a ferramenta padrão de controle de código fonte da equipe.
Não basta trocar a ferramenta, é preciso mudar a mentalidade
A equipe se adaptou rapidamente ao modelo de trabalho com DVCS pra quem conhece Hg isso significa: Commit, Pull, Update/Merge,Commit,Push. O pessoal começou a fazer integrações locais que envolvem rodar os testes e testar a aplicação basicamente, isso fez com que tivéssemos uma semana de trabalho sem quebrar o build. Ainda precisamos iniciar o uso de feature branches e aprender mais sobre Heads e changesets
Resultado positivos:
- Curva de aprendizado curta
- Código estável no repositório
- Custo baixo
- Integração “confortável” com windows
É isso pessoal, espero voltar em breve para falar sobre dicas e experiências com o Hg.