Você está na página 1de 66

Equipe:

Eziel Soares
Felipe Ramgund
Giordano Giuliano
Luiz Antnio
Kssimo Jnior

Subversion um sistema de controle de verso,


ou seja, um software que gerencia arquivos e
diretrios e as mudanas feitas nos mesmos no
decorrer do tempo. Um dos benefcios
proporcionados pelo Subvesion o auxlio ao
trabalho colaborativo, pois permite que vrias
pessoas faam acesso a um mesmo repositrio,
o qual compartilhado em uma rede local de
computadores ou atravs da internet.

2000 A CollabNet Inc. utilizava o CVS junto ao


seu projeto de software do tipo Enterprise.
Insatisfeita com algumas limitaes e bugs do
CVS, decidiu criar seu prprio sistema de
controle de verses do zero. Para isso convidou
vrios programadores, e baseando-se nas
funcionalidades do CVS e aprimorando ainda
mais o sistema, lanou em 2001 o Subversion
(SVN).

Verses de diretrios
Melhor gerenciamento de histrico de verses
Commits atmicos
Verses em metadados
Escolha de camada de rede
Manipulao de dados consistente
Branching e Tagging Eficientes
Escalabilidade

Repositrio

Modelo de Verses
A principal misso de um sistema de controle de
verses possibilitar a edio e compartilhamento colaborativo de dados. Mas, cada sistema
utiliza estratgias diferentes para executar tal
tarefa.

O problema do compartilhamento de arquivos

A soluo LOCK-MODIFY-UNLOCK

H varias implicaes que desfavorecem esse


modelo:
Causa problemas administrativos;
Causa serializao desnecessria;
Cria um falso senso de segurana;

A soluo COPY-MODIFY-MERGE

Apesar do modelo lock-modify-unlock geralmente ser considerado anti-colaborativo, h


momentos em que o locking necessrio.
O modelo copy-modify-merge assume que os
arquivos sejam passveis de merge.
Mesmo que o Subversion seja primariamente um
sistema copy-modify-merge, ele ainda reconhece
a necessidade de travar ocasionalmente um
arquivo.

Ambiente de Instalao:
Sistema Operacional OpenSuse 11.4
Subversion verso 1.7

Criar o diretrio que ser o repositrio


Instanciar o repositrio no diretrio criado
Executar o daemon svnserve

Conexo com o servidor (repositrio)

file:///
http://
https://
svn://
svn+ssh://

acesso direto ao repositrio (disco local)


acesso via WebDAV (protocolo do mdulo apache)
mesmo que http://, mas com criptografia SSL
acesso via protocolo prprio do svnserve
mesmo que svn://, mas via tnel SSH

Realizao de Check-out do repositrio


svn checkout http://svn.example.com/repos/cadastro
A calc/main.java
A calc/conexaoJDBC.java
A calc/clienteGUI.java
Checked out revision 56.

Adicionando Arquivos
svn add NovaClasse.java

Removendo Arquivos
svn rm NovaClasse.java

Criando Branches
svn copy trunk branches/my-clienteGUI-branch
svn status
A + branches/my-clienteGUI-branch

Atualizando Arquivos
svn update

Comparando arquivos
svn diff

Realizao de Merge no repositrio


svn merge -c 344 http://svn.example.com/repos/cadastro/trunk
U clienteGUI.java
svn status
M clienteGUI.java

Realizao de Check-in no repositrio


svn commit clienteGUI.java -m "Tela de cadastro Clientes"
Sending clienteGUI.java
Transmitting file data .
Committed revision 57.

http://download.eclipse.org/technology/subversive/0.7/update-site/

Você também pode gostar