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.
Acontecerá nos dias 24, 25 e 26 de agosto, em São Paulo, a próxima turma do curso de Gerência de Configuração de Software com Trac e Subversion. São 24 horas de treinamento divididos em três módulos:
O programa do curso é bem extenso e cobre desde conceitos básicos de GCS, passado por atividades cotidianas de desenvolvimento até temas avançados tais como ramificação de projetos e uso de bibliotecas comuns a vários projetos.
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.