Foi lançada a nova versão 1.3 do Mercurial. Chega com várias novidades, das quais destaco:
- Sub-repositórios (ainda em fase experimental) – Veja subseção abaixo
- Python 2.3 não é mais suportado. É necessário usar a versão entre a 2.4 e a 2.6
- Tradução para Português-Brasileiro
- merge: adicionada opção de preview -P/ –preview. Sempre bom saber qual o resultado vai dar antes de se comprometer com ele.
- update: adicionada opção -c/–check para abortar atualização em caso de modificações locais pendentes.
- Extensão alias incorporada ao núcleo
- 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.