Todo desenvolvedor um dia irá trabalhar em equipe e não há como trabalhar sem um controle de versão. Temos vários sistemas para esta tarefa mas há dois principais: CVS (Concurrent Versions System) e SVN (Subversion). Entre eles o SVN, do que vejo, tem sido o mais usado.

Novamente, como no post anterior sobre o Grep, sou usuário Windows e interface é mais prático que linha de comando, pelo menos para mim.

Em termos de cliente para SVN o TortoiseSVN é o mais popular, e é mantido pelo próprio pessoal do SVN.

Pretendo, nos próximos posts mostrar como usar ele para trabalhar. Já trabalhei com Eclipse e Netbeans quando programei em Java e ambos integram diretamente com o IDE tanto para CVS como SVN.

No momento estou realizando um projeto em .NET usando Visual Studio, e infelizmente ele só trabalha com o Source Safe (da Microsoft) como controle de versão, não sendo possível usar o SVN nem o CVS diretamente. Existem soluções para isso, mas não é o intuito deste post.

Este post também não pretende mostrar como configurar um servidor local SVN, pode ficar para um outro post.

Baixe o TortoiseSVN aqui.

Importando o Projeto Inicial

Agora vou entrar num ponto em que me confundiu demais e acredito para outros também. No SVN o Import refere-se a Importar um projeto ao SVN e não importar um projeto do SVN, como da-se a entender.

Selecione o diretório com o projeto existe e clique com o botão direito sobre ele e TortoiseSVN > Import

tsvn_01

Uma janela irá aparecer e será pedido a URL do servidor SVN e uma mensagem import.

Checkout

Uma vez feito isso é possível realizar o primeiro Checkout. O Checkout irá baixar uma versão do repositório podendo ser HEAD (a corrente) ou uma versão qualquer existente. Cada commit corresponde a uma versão.

Crie um diretório e com o botão direito Checkout SVN...

Após o checkout o diretório irá ficar marcado com um símbolo de OK.

tsvn_02

Adicionando Arquivos ao Repositório

Crie um arquivo no diretório o qual o projeto está guardado e clique em TortoiseSVN > Add.

Um sinal de "+" será marcado no arquivo dizendo que ele foi adicionado. Isso é necessário sempre que um novo arquivo for criado. O diretório com alterações ficará marcado com uma "!"

tsvn_03

Feito esta etapa o arquivo ainda não foi submetido ao repositório, para isso é necessário realizar um commit.

TortoiseSVN > Commit

Será pedido uma mensagem identificando o motivo do commit. É importante ser claro e objetivo para que quando necessário retornar um versão saber a que ela representa.

Uma vez realizado o commit a revisão será incrementada e o diretório ficará marcado com um OK novamente.

Até um próximo post sobre o TortoiseSVN.