Passo a Passo da Migração de Repositórios

A migração do CVS para o SVN do V-ART foi iniciada. O primeiro passo que eu tomei nessa direção foi enviar um email para a lista do V-ART avisando os outros desenvolvedores e os usuários das mudanças futuras. A intenção é que ninguém saia perdendo com isso e que o processo corra da maneira mais suave possível, então vários avisos serão dados na lista de acordo com o avanço da migração.

A primeira preocupação no processo de migração foi ver se haveria um modo de manter a história de atualizações do CVS ao passar a usar o repositório do Codeplex. Infelizmente parece não haver um modo de fazer isso. Existem alguns pedidos antigos por uma ferramenta de migração de CVS para TFS, mas não foram atendidos. Converter o repositório para SVN também não adiantaria, pois o repositório do Codeplex continua usando o TFS por trás. A única diferença agora é o suporte de clientes SVN através do bridge.

Não tendo como resolver o problema do histórico, o primeiro passo foi fazer um checkout de todos os arquivos presentes atualmente no repositório CVS do VART. Para isso foi usado o Tortoise CVS.

cvs-checkout.png

Depois disso, os arquivos relativos ao CVS (pastas ocultas chamadas CVS) foram deletados da árvore de diretórios com a ajuda de um script Python. Com isso a árvore ficou limpa de informações antigas de controle de versão e passou a apenas conter o conteúdo que deveria ser efetivamente posto no repositório do Codeplex.

Para mandar esse conteúdo para o Codeplex, foi preciso estabeler o diretório onde se encontravam os arquivos como um diretório de trabalho do SVN. Para isso foi feito um checkout do repositório do Codeplex para o diretório, dessa vez com o Tortoise SVN.

checkout.png

Como esperado, o repositório estava vazio e nada foi baixado, no entanto arquivos com metadados de controle de versão foram criados no diretório fazendo com que ele passasse a ser considerado sob controle de versão. Para que os fontes do V-ART passassem a fazer parte do repositório SVN foi necessário adicioná-los através do comando Add.

add.png

addlist.png

adding.png

Após adicionar os arquivos, o último passo era fazer um commit. Esse é o comando que faz com que o cliente SVN envie os arquivos para o servidor do repositório pedindo que as mudanças sejam aplicadas. Eventualmente conflitos poderiam existir e deveriam ser resolvidos, mas como o repositório estava completamente limpo, não é preciso se preocupar com isso.

commit.png

commitlist.png

Como agora estamos escrevendo arquivos no repositório as coisas não acontecem diretamente como no checkout. É preciso se autenticar como um usuário válido do Codeplex. Essa autenticação é pedida pelo próprio Tortoise SVN.

auth.png

commiting.png

Depois de um longo período de espera, o commit é concluído. O resultado pode ser visto na aba Source Code da página do projeto V-ART.

source1.png

source2.png

Last edited Nov 20, 2008 at 7:38 PM by kcfelix, version 2

Comments

No comments yet.