Controlo de Versões com SVN

14
Sistemas de Controlo de Vers˜oes Alberto Manuel Brand˜ ao Sim˜ oes [email protected] 9 de Outubro de 2008 AlbertoSim˜oes Sistemas de Controlo de Vers˜ oes

description

First version of a Portuguese presentation on Version Control Systems and SVN specifically.

Transcript of Controlo de Versões com SVN

Page 1: Controlo de Versões com SVN

Sistemas de Controlo de Versoes

Alberto Manuel Brandao [email protected]

9 de Outubro de 2008

Alberto Simoes Sistemas de Controlo de Versoes

Page 2: Controlo de Versões com SVN

Sistemas de Controlo de Versoes

Permitem:

armazenar diferentes versoes;

gerir historicos de alteracoes;

indirectamente, servir de backup;

Podem ser: locais, centralizados ou distribuıdos.

Local Centralizado Distribuıdo

sccs cvs gitrcs svn bazaar (bzr)

perforce darcsmercurial

arch

Alberto Simoes Sistemas de Controlo de Versoes

Page 3: Controlo de Versões com SVN

Sistemas de Controlo de Versoes

Permitem:

armazenar diferentes versoes;

gerir historicos de alteracoes;

indirectamente, servir de backup;

Podem ser: locais, centralizados ou distribuıdos.

Local Centralizado Distribuıdo

sccs cvs gitrcs svn bazaar (bzr)

perforce darcsmercurial

arch

Alberto Simoes Sistemas de Controlo de Versoes

Page 4: Controlo de Versões com SVN

Local vs Centralizado vs Distribuıdo

Os Sistemas Locais:

sao mono-utilizador;

Os Sistemas Centralizados:

sao multi-utilizador, permitindo uso cooperativo;

tem sistemas integrados de gestao de conflitos;

precisam de um servidor centralizado;

o servidor tem a ultima versao;

e necessaria conectividade;

Os Sistemas Distribuıdos:

sao multi-utilizador, permitindo uso cooperativo;

tem sistemas integrados de gestao de conflitos;

cada utilizador tem uma copia completa do repositorio;

nao e necessaria conectividade;

existem varias ultimas versoes;

Alberto Simoes Sistemas de Controlo de Versoes

Page 5: Controlo de Versões com SVN

Local vs Centralizado vs Distribuıdo

Os Sistemas Locais:

sao mono-utilizador;

Os Sistemas Centralizados:

sao multi-utilizador, permitindo uso cooperativo;

tem sistemas integrados de gestao de conflitos;

precisam de um servidor centralizado;

o servidor tem a ultima versao;

e necessaria conectividade;

Os Sistemas Distribuıdos:

sao multi-utilizador, permitindo uso cooperativo;

tem sistemas integrados de gestao de conflitos;

cada utilizador tem uma copia completa do repositorio;

nao e necessaria conectividade;

existem varias ultimas versoes;

Alberto Simoes Sistemas de Controlo de Versoes

Page 6: Controlo de Versões com SVN

Local vs Centralizado vs Distribuıdo

Os Sistemas Locais:

sao mono-utilizador;

Os Sistemas Centralizados:

sao multi-utilizador, permitindo uso cooperativo;

tem sistemas integrados de gestao de conflitos;

precisam de um servidor centralizado;

o servidor tem a ultima versao;

e necessaria conectividade;

Os Sistemas Distribuıdos:

sao multi-utilizador, permitindo uso cooperativo;

tem sistemas integrados de gestao de conflitos;

cada utilizador tem uma copia completa do repositorio;

nao e necessaria conectividade;

existem varias ultimas versoes;

Alberto Simoes Sistemas de Controlo de Versoes

Page 7: Controlo de Versões com SVN

Subversion, aka svn

O SVN esta disponıvel:

em todas as distribuicoes Linux;(em Ubuntu nao e instalado por omissao)

para instalacao em MacOS X;(via fink ou macports, ...)

para instalacao em Windows;(sugestao do chefe, TortoiseSVN)

para compilacao pelos necessitados;(http://subversion.tigris.org/downloads/)

Alberto Simoes Sistemas de Controlo de Versoes

Page 8: Controlo de Versões com SVN

Criar um Repositorio (for admins)

numa maquina ligada a rede;pelo menos acessıvel por todos os seus utilizadores

utilizando os menus do TortoiseSVN;para os fanaticos do windows

utilizando a linha de comandos do svn;para Homens a serio.

svnadmin create /path/to/the/centralized/repository

Alberto Simoes Sistemas de Controlo de Versoes

Page 9: Controlo de Versões com SVN

Criar um Repositorio (for admins)

numa maquina ligada a rede;pelo menos acessıvel por todos os seus utilizadores

utilizando os menus do TortoiseSVN;para os fanaticos do windows

utilizando a linha de comandos do svn;para Homens a serio.

svnadmin create /path/to/the/centralized/repository

Alberto Simoes Sistemas de Controlo de Versoes

Page 10: Controlo de Versões com SVN

Comandos Basicos (for common-users)

Criar uma copia local de trabalho:

svn co http://host.tld/path/to/repository

Actualizar a copia local com a ultima versao:

svn up

Enviar alteracoes para o repositorio:

svn ci

Adicionar um ficheiro/directoria ao repositorio:

svn add file1 file2 dir1 dir2

mas so fica disponıvel depois de um commit.

Remover um ficheiro/directoria do repositorio:

svn remove file1 file2 dir1 dir2

mas os ficheiros so sao removidos depois de um commit.

Alberto Simoes Sistemas de Controlo de Versoes

Page 11: Controlo de Versões com SVN

Comandos Basicos (for common-users)

Criar uma copia local de trabalho:

svn co http://host.tld/path/to/repository

Actualizar a copia local com a ultima versao:

svn up

Enviar alteracoes para o repositorio:

svn ci

Adicionar um ficheiro/directoria ao repositorio:

svn add file1 file2 dir1 dir2

mas so fica disponıvel depois de um commit.

Remover um ficheiro/directoria do repositorio:

svn remove file1 file2 dir1 dir2

mas os ficheiros so sao removidos depois de um commit.

Alberto Simoes Sistemas de Controlo de Versoes

Page 12: Controlo de Versões com SVN

Comandos Basicos (for common-users)

Criar uma copia local de trabalho:

svn co http://host.tld/path/to/repository

Actualizar a copia local com a ultima versao:

svn up

Enviar alteracoes para o repositorio:

svn ci

Adicionar um ficheiro/directoria ao repositorio:

svn add file1 file2 dir1 dir2

mas so fica disponıvel depois de um commit.

Remover um ficheiro/directoria do repositorio:

svn remove file1 file2 dir1 dir2

mas os ficheiros so sao removidos depois de um commit.

Alberto Simoes Sistemas de Controlo de Versoes

Page 13: Controlo de Versões com SVN

Comandos Basicos (for common-users)

Criar uma copia local de trabalho:

svn co http://host.tld/path/to/repository

Actualizar a copia local com a ultima versao:

svn up

Enviar alteracoes para o repositorio:

svn ci

Adicionar um ficheiro/directoria ao repositorio:

svn add file1 file2 dir1 dir2

mas so fica disponıvel depois de um commit.

Remover um ficheiro/directoria do repositorio:

svn remove file1 file2 dir1 dir2

mas os ficheiros so sao removidos depois de um commit.

Alberto Simoes Sistemas de Controlo de Versoes

Page 14: Controlo de Versões com SVN

Comandos Basicos (for common-users)

Criar uma copia local de trabalho:

svn co http://host.tld/path/to/repository

Actualizar a copia local com a ultima versao:

svn up

Enviar alteracoes para o repositorio:

svn ci

Adicionar um ficheiro/directoria ao repositorio:

svn add file1 file2 dir1 dir2

mas so fica disponıvel depois de um commit.

Remover um ficheiro/directoria do repositorio:

svn remove file1 file2 dir1 dir2

mas os ficheiros so sao removidos depois de um commit.

Alberto Simoes Sistemas de Controlo de Versoes