Eu posso fazer isso, li um bocado a respeito e inclusive já migrei um repositório svn interno meu para mercurial. Só é necessário discutir como o mercurial será usado.
Como já postei antes, na minha opinião o “trunk” pode ser uma tag ou branch (dá até pra dar outro nome, como por exemplo “main” ou “base”), e todo mundo pode commitar com uma certa liberdade (com algumas ressalvas - explicadas no próximo parágrafo), desde que não altere a tag/branch “trunk”. Cada feature pode ser aceita na trunk após alguns critérios a serem definidos (presença no tracker, testes, discussão, votação, etc).
Caso esse método seja acatado, o ideal é migrar apenas a pasta “trunk” para o mercurial. Alterações mais comuns, genéricas e que não sejam muito intrusivas correndo o risco de quebrar funcionalidades, podem ser colocadas direto no repositório oficial do LBR. Para os outros casos, cada desenvolvedor (ou um grupo de desenvolvedores) pode criar um clone individual para recursos mais complicados de se incluir logo no trunk, testes, experiências, etc. Pelo que eu percebi no repositório principal do projeto principal, funciona mais ou menos parecido com isso… tem algumas branches associadas a algumas atividades, inclusive a alguns meses atrás teve tantas que o gráfico nem mostra direito na página de visualização. O equivalente ao que seria o nosso trunk, no projeto principal parece ser marcado pela branch “development”, mas não tenho certeza disso… se alguém tiver informações melhores ou mais corretas, por favor coloque aqui.
Este é um bom método de ter sub-projetos mais complicados executados por sub-equipes que tenham interesses em comum de forma que possam fazer isso abertamente sem ter que pedir nada pra ninguém! Dependendo onde chegarem, este sub-projeto pode ser anexado ao “trunk” ou mesmo ter uma vida “paralela” sem ser um fork ou alguma solução fechada.
Abraços,
Claudemir