SVN

<< Click to Display Table of Contents >>

Navigation:  SVN >

SVN

Previous pageReturn to chapter overviewNext page

#1 instale no servidor

http://www.visualsvn.com/server/download/


Vou falar um pouco sobre Subversion (SVN), os conceitos básicos, o que é um SVN, idéia do SVN, funcionamento do SVN etc.

 

Ultimamente surgiu a necessidade de usar um Subversion para um controle de arquivos para um trabalho de faculdade, e ensinar sobre svn para um amigo de sala, daí me veio a idéia de fazer esse tutorial.

 

O Subversion tambem conhecido como SVN, é um sistema de controle de versão, que no fundo é um CVS só que mais moderno.

 

Nós usamos o svn quando estamos trabalhando em equipe e todos dessa equipe utilizam dos mesmos arquivos, ou seja, para toda a equipe ter esse controle de que todos estão usando a mesma versão.

 

Imagine que estamos trabalhando em um projeto com uma equipe de várias pessoas. Todas estão trabalhando em um mesmo projeto, e todas precisam ter a mesma versão dos arquivos no seu computador (cada pessoa em um computador diferente),

agora imagine que nós não usamos um SVN. Seu colega de trabalho, acabou de alterar um arquivo, para você ter acesso a esses arquivos, a pessoa que alterou esse arquivo, teria que te enviar esse arquivo, ou colocar num servidor em comum para voce obter esse arquivo.

Completamente trabalhoso né??

 

Agora imagine que nessa mesma equipe boba que não utiliza de um SVN, você esteja trabalhando em um arquivo, ai seu Colega de trabalho mudinho, sem te perguntar (obvio?), altera esse mesmo arquivo que você estava mechendo,

e agora??? Como saber o que o mudo alterou ?? Como deixar que esse arquivo tenha as suas alterações e as alterações dele tambem, para que o sistema funcione ?

 

Iria da um trabalho horrivel né de ler todo o codigo e ir arrumando as diferenças e fazendo esse merge do arquivo.

 

Mas pra isso e muito mais existe o SVN!!!! \o/ uhul !

 

Mas como funciona esse SVN?

 

Bom basicamente, voce precisará ter um Repositório de arquivos, para o svn guardar os arquivos lá, pode ser um servidor, ou uma pasta compartilhada que seus colegas de trabalho possam ter acesso.

Tendo o repositório você começara a enviar os arquivos para lá, para cada arquivo que voce enviar (Commit) para o repositório, o SVN cria uma versão daquele arquivo,

e assim guardando essa versão no repositorio, mas imagine que voce esteja alterando esse arquivo e envia esse arquivo 200 vezes para o repositório,

seria um absurdo o tamanho desse repositório né ?? Por isso quando voce envia (commit) um arquivo, o SVN guarda APENAS as alterações feitas nesse arquivo.

Com isso ele guarda apenas o arquivo inicial, e as outras versões ficam apenas com as alterações, assim ele tem o controle completo de tudo que foi alterado.

 

Falamos acima da operação muito comum chamada Commit, existem vários tipos de operações, Commit, update, merge, delete.

 

o Commit basicamente é isso, é você enviar o arquivo para o SVN.

 

O update é o comando para atualizar os seus arquivos do seu computador, para a mesma versão que esteja no SVN.

 

Aí existem alguns conceitos de SVN que ja continuaram do CVS que são:

 

- O Trunk:

A pasta Trunk é onde fica seus arquivos do repositório, seus projetos em desenvolvimento etc, todas suas atualizações, as versões dos arquivos e etc são salvas nessa pasta.

 

- Branches:

É a pasta que fica as versões dos projetos como um todo. Quando um projeto está pronto para ser liberado por exemplo, a pasta Trunk é copiada para a pasta Branch que é congelada, e nenhuma alteração pode ser feita nesses arquivos. Somente algumas correções nessa versão. Muitos, muitos eu disse MUITOS TESTES DEVEM ser feitos nessa versão.

 

- Tag:

Quando todos os testes foram efetuados com sucesso no Branch, o projeto está pronto para ser enviado para o cliente, isso seria como uma versão release do sistema. Apartir daí essa pasta é empacotada e enviada para o cliente.

 

Basicamente a idéia do funcionamento de um SVN é isso