quarta-feira, 10 de setembro de 2008

Aprenda como fazer Controle de Versões com SVN

Voltando um pouco ao foco de desenvolvimento, hoje vou falar sobre uma dificuldade que tivemos para desenvolver o Customer Bridge com uma equipe de 4 pessoas e como conseguimos resolver esse problema.
Começamos aqui na Across-it com uma equipe de tecnologia formada apenas por 2 pessoas, o Gerente de TI e eu, alterávamos o código sem problemas algum, não tinha conflitos, nem erros, mas a equipe foi aumentando e hoje nossa equipe tem mais 2 pessoas e começou a ficar problemático todos programarem em um código locado na mesma pasta. Então procuramos algumas soluções.
A solução encontrada foi usar um Sistema de controle de versão que tem a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Eu sugeri que usássemos um controle de versões, já conhecia bem o CVS desde que trabalhei na Novatec, mas não sabia como configurar, então pra mim seria um bom desafio implantar o CVS no nosso projeto.
Então comecei a minha busca pela configuração...
Primeiro
Eu descobri que para a nossa aplicação em dot.NET a melhor solução seria implantar o SVN. O SVN conhecido também como subVersion era melhor para nosso ambiente, inicialmente pensei que fosse uma limitação minha mas descobri um comentário de um post desse link log4dev que pontuava algumas coisas as quais senti dificuldade, então vamos lá:
  • O SVN possui suporte para versionamento de para pastas, arquivos e meta dados, ou seja, tudo no repositório se resume a cópias de arquivos com históricos;
  • É muito complicado configurar permissões de acesso no CVS;
  • Todo mundo que eu conheço que usa CVS usa como plugin do eclipse, então não consegui configurar ele para Visual Studio;
  • Como o SVN é o concorrente direto do CVS a tendência é que ele evolua para se tornar estavel.
Segundo
Achei um pouco difícil encontrar um bom tutorial que me auxiliasse na instalação de SVN aqui para meus projetos. Mas eu consegui achar um ÓTIMO e vou explicar como configuramos SVN para nossos documentos, ta um pouquinho diferente de como o tutorial explica mas funciona tudo certinho.
Vamos lá:
Passo1: Baixar e instalar o SVN (servidor) e o Tortoise (front)
Passo2: Cria a pasta do repositório (Eu crie em C:\Inetpub\wwwroot\Repositorios);
Crie uma pasta para cada projeto (Eu criei para o customer Bridge C:\Inetpub\wwwroot\Repositorios\Bridge)

Depois vai na opção TortoiseSVN – Create repository Here


Ai ele vai montar uma estrutura de pastas como a imagem abaixo

Passo3: Criar uma pasta temporária (Eu crie em C:\Inetpub\wwwroot\Temp)
Crie uma pasta para cada projeto (Eu criei para o customer Bridge C:\Inetpub\wwwroot\ Temp\Bridge)
Pegue a pasta de cada projeto e faça um backup delas e guarde, pois se ocorrer algum erro estaremos seguro dos arquivos;
Depois de feito o backup pegue todos os arquivos da pasta do projeto e copie na pasta temporária e delete-os da pasta do projeto.
OBS: A pasta do projeto precisa esta completamente vazia para versionarmos ela.
Vá na pasta temporária do projeto e selecione a opção TortoiseSVN - Import

Quando aparecer para dizer qual pasta vai a importação você seleciona a pasta do Repositório que criamos (C:\Inetpub\wwwroot\Repositorios\Bridge)
Pronto ele vai fazer toda a importação para o Repositório.

Agora vem a parte de criar as pastas dos projetos em cada Máquina
Passo4: Como no exemplo acima tiramos tudo de dentro da pasta do projeto, vamos usar essa pasta, ou então crie uma nova pasta caso esteja em outras máquinas.
Selecione a pasta e a opção SVN Checkout

Pronto seu projeto esta versionado em sua máquina
Agora é só fazer Updates e Comits.
Aqui eu sempre faço um Update antes de dar comit para evitar conflitos.
Espero ter ajudado com esse artigo.
Até a proxima !!!

Onde pesquisei
Subversion for CVS Users
Practical guide to subversion on Windows with TortoiseSVN

Nenhum comentário: