Archive for July, 2009

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.

Nova Turma de GCS com Trac e Subversion em São Paulo

July 15th, 2009

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.

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.