Acaba de sair a versão 1.3 do Mercurial

July 3rd, 2009 by André Felipe Dias Leave a reply »

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.

Advertisement

Leave a Reply