Quem sou eu

Minha foto

Formado em Computação, desenvolvedor web, interessado em tecnologia, metaleiro e um gamer inveterado.

Pesquisar

sexta-feira, 16 de janeiro de 2009

Dicas Úteis - Visão geral do SVN com o Tortoise

Quando comecei a trabalhar com Django, foi quando coloquei os conhecimentos sobre essa fantástica ferramenta chamada SVN à prova.

Simples de utilizar, e com a possibilidade de restaurar quaisquer versões de algo que já foi feito, facilmente caiu nas graças da equipe de desenvolvimento quando apresentada.

Para poupar o trabalho repetitivo de ficar copiando e colando daqui do blog, mesmo porquê, o editor html disponível para os post dificulta a vida quando se faz necessário uma indentação precisa. Vou disponibilizar o que for desenvolvendo em um repositório, e gerenciando as versões do projeto através do controle de versão oferecido pelo Google Code (http://code.google.com/hosting/).

Para subir as versões mais novas do projeto, utilizarei o comando SVN Commit, que enviará os arquivos recém alterados para o servidor.

Resumindo, não muda nada. Será necessário fazer o checkout do link abaixo da mesma forma que fizemos no post de instalação do Django:
http://colecoes.googlecode.com/svn/trunk/


Vamos ao trabalho. Dentro de sua pasta de projetos (C:\projetos\) , crie uma pasta chamada colecoes. Da mesma forma que fizemos com o Django, clique com o botão direito e escolha a opção SVN Checkout do Tortoise, colocando no link do repositorio o link do projeto citado anteriormente.

Depois do projeto sincronizado com o servidor, a cada nova atualização , será necessário clicar com o botão direito na pasta criada e escolher a opção SVN Update. Isso fará com que o Tortoise puxe todos os arquivos alterados que estiverem no servidor para a maquina local, mas NÃO substituirá arquivos alterados localmente que estiverem diferentes do servidor.

Caso altere algo, e desejar pegar a versão correta do servidor novamente, utilize a opção Tortoise SVN >> Revert, ao clicar com o botão direito em cima do arquivo e/ou pasta que desejar puxar novamente.

Outra opção é atualizar para uma revisão específica, através da opção Tortoise SVN >> Update to Revision. Basta passar o número da revisão com o qual quer trabalhar, que um download da mesma será feito.


Graças a esse controle de versões, o SVN possibilita trabalhos em equipe de forma sincronizada, gerenciando inclusive mais um desenvolvedor trabalhando no mesmo arquivo. Quando isso acontece ele possui duas opções:

  1. Merge (junção) das alterações em um único arquivo quando as linhas editadas pelos membros da equipe NÃO for a mesma.

  2. Gerenciador de conflitos para edição em mesma linha. Para este caso, é mantido uma cópia da versão original do servidor e uma cópia para cada commit responsável por esse conflito. Quando isso acontecer, o Tortoise cria uma entrada dentro do menu Tortoise SVN, para resolver os conflitos com uma decisão humana, onde o responsável pela mesma verá as três cópias possíveis e decidirá qual manter no servidor.
A partir desse ponto ficará mais facil acompanhar este desenvolvimento através do SVN, mas quem optar por não segui-lo, poderá perfeitamente continuar acompanhando o projeto a partir do próximo post. Fica a dica.

hasta!