Archive for the ‘mercurial’ category

Plugin do Mercurial para usar um servidor Git

August 18th, 2009

Um dos fatores do sucesso do Git é, sem dúvida alguma o GitHub: design elegante e funcional, gráficos interessantes etc.. Suponha que você deseje participar do GitHub ou mesmo usar algum projeto armazenado lá, só resta a opção de usar o Git, certo?

Não mais! Com o plugin do Mercurial Hg-Git seus problemas acabaram: você pode continuar usando o Mercurial mesmo que o repositório oficial do projeto esteja em Git! Do próprio site:

Este é o Hg-Git plugin para Mercurial, que adiciona a habilidade de push e pull de um repositório Git para um repositório Hg. Isto significa que pode-se colaborar em projetos baseados em Git a partir do Hg, ou usar um servidor Git como um ponto de colaboração de um time de desenvolvedores usando tanto o Git quanto o Hg.

O plugin foi desenvolvido pelo próprio pessoal do GitHub com o claro e justo intuito de aumentar o público-alvo dos seus serviços, mas amplia bastante as possibilidades de trabalho dos desenvolvedores e projetos que, tal como nós da Pronus, escolheram o Mercurial como DVCS.

Lançada a versão 1.3.1 do Mercurial e a versão 0.8.1 do TortoiseHg

July 24th, 2009

Nem faz tanto tempo que saiu a versão 1.3 e já lançaram a versão 1.3.1 do Mercurial. Esta versão chega com várias pequenas correções sobre a versão anterior. Entre elas, destacam-se:

  • consertado o uso excessivo de memória para operações de diff e strip
  • resolvido o problema de lentidão no cálculo de heads de ramos
  • resolvido o problema de lentidão na extensão fetch
  • update –check agora mostra vários ramos
  • Vários pequenas alterações na documentação e outros pequenos defeitos corrigidos

A lista completa de alterações está disponível neste link.

A atualização de versão é recomendada a todos os usuários. Para quem usa Linux e linha de comando, a melhor forma é usar o easy_install

sudo easy_install -U Mercurial

TortoiseHg 0.8.1

Para quem usa o TortoiseHg, saiu a versão 0.8.1 que já vem com a versão 1.3.1 do Mercurial. Sendo assim, basta instalar essa nova versão no Windows e pronto.

Há várias outras correções nessa versão. A lista completa está aqui. Uma das mudanças é a inclusão do livro do Mercurial em formato PDF no pacote.

Acaba de sair a versão 1.3 do Mercurial

July 3rd, 2009

Foi lançada a nova versão 1.3 do Mercurial. Chega com várias novidades, das quais destaco:

  1. Sub-repositórios (ainda em fase experimental) – Veja subseção abaixo
  2. Python 2.3 não é mais suportado. É necessário usar a versão entre a 2.4 e a 2.6
  3. Tradução para Português-Brasileiro
  4. merge: adicionada opção de preview -P/ –preview. Sempre bom saber qual o resultado vai dar antes de se comprometer com ele.
  5. update: adicionada opção -c/–check  para abortar atualização em caso de modificações locais pendentes.
  6. Extensão alias incorporada ao núcleo
  7. Extensão share (experimental)

Subrepositórios no Mercurial

A nova funcionalidade de subrepositórios segue a linha da propriedade svn:externals do Subversion. A idéia é permitir o uso de um repositório dentro de outro (fica sendo um subdiretório) e tratar todos como um só grupo.

As possibilidades são interessantes: é possível montar um projeto combinando partes formadas por projetos independentes.

Ao invés de propriedades, o mercurial usa um arquivo chamado .hgsub para registrar os subrepositórios. Só lembrando que arquivos que começam com ‘.’ são ocultos no Linux.

A criação e o registro dos subrepositórios ainda precisam ser feitos manualmente nesta versão que ainda é experimental. Entretanto, já estão previstas melhorias nesse sentido e também em manter subrepositórios não nativos, isto é, de outros sistemas tais como Subversion ou Git.

Extensão Alias

Alias era uma extensão à parte, mas agora é distribuída junto com o Mercurial. Mesmo assim, precisa ser habilitada no arquivo .hgrc do usuário para funcionar.

Permite a criação de “apelidos” para conjuntos de comandos e parâmetros usados com frequência. Por exemplo:

[extensions]
alias =

[alias]
llog = log --limit 10

A configuração acima cria um “novo” comando llog equivalente à execução do comando log --limit 10.

Extensão Share

Esta extensão permite criar — localmente — áreas de trabalho independentes que compartilham fisicamente o mesmo repositório (diretório store do .hg). A vantagem é que todos os commits feitos aparecem automaticamente no histórico dos repositórios compartilhados sem a necessidade de comandos de push ou pull.

É útil para a criação de uma área de trabalho para um ramo, por exemplo,  e não desperdiça espaço com um armazenamento do repositório interno.

Instalação da Versão 1.3

No Linux, é mais vantajoso usar o easy_install para obter a versão mais recente (easy_install -U Mercurial). A outra opção seria usar os pacotes da distribuição, mas essa alternativa costuma ser mais desatualizada.

No Windows, é possível utilizar o Mercurial 1.3, inclusive através da linha de comando, instalado diretamente o TortoiseHg 0.8. Interessante ressaltar que o TotoiseHg também funciona em plataformas não-Windows. Veja a página do TortoiseHg para mais informações.

Novo Curso de Gerência de Configuração com Trac e Mercurial

June 19th, 2009

Estão abertas as inscrições para o novo curso de Gerência de Configuração de Software com Trac e Mercurial. A grande novidade é o uso do Mercurial para o controle de versão distribuído.

Sobre o Mercurial

Mercurial é uma das mais populares ferramentas da nova geração de controle de versão distribuído. É usada por diversos projetos grandes tais como o OpenJDK (Java), NetBeans, Google Code, Python etc.

Possui um conjunto de comandos parecidos com o Subversion, o que facilita o seu aprendizado. Além disso, traz os diversos benefícios do modelo distribuído de controle de versão, tais como independência, rapidez e produtividade.

Sobre o Curso

O curso tem duração de 16 horas e, apesar de apresentar conceitos teóricos, é voltado para a parte prática de Gerência de Configuração, com diversos exemplos e exercícios de fixação do uso conjunto do Trac e do Mercurial para atender às necessidades do dia a dia do desenvolvimento de software e destaque aos novos fluxos de trabalho do modelo distribuído de controle de versão.

O curso também cobre a instalação e configuração do servidor do Trac e de um repositório “oficial” do Mercurial, tratando inclusive de alguns procedimentos de autorização, backup e restauração.

O programa completo está disponível na página do curso.

A próxima turma está marcada para os dias 17 e 18 de agosto em São Paulo.

Faça já sua inscrição e aproveite a promoção de lançamento até o dia 17 de julho (15% de desconto)!

Suporte ao Mercurial para Projetos Hospedados no Google Code

May 6th, 2009

Além do Subversion, a partir do dia 24/04/2009, o Google passou a oferecer o Mercurial como controle de versão para projetos hospedados no Google Code. Abaixo, há uma figura mostrando um exemplo de visualização do histórico de um projeto que usa o Mercurial já no Google Code.

A análise comparativa entre o Mercurial e o Git considerou as duas alternativas bastante equilibradas. A escolha pelo Mercurial se baseou em dois fatores:

  1. Os comandos e terminologia do Mercurial é mais próxima do Subversion, tornando mais fácil a migração da grande base de usuários que já usa o Subversion nos projetos do Google Code para o Mercurial;
  2. Mercurial apresentou desempenho e adequação melhores aos serviços baseados em HTTP que a infraestrutura do Google Code já oferece.