Sistemas de Controlo de Versoes
Alberto Manuel Brandao [email protected]
9 de Outubro de 2008
Alberto Simoes Sistemas de Controlo de Versoes
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
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
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
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
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
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
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
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
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
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
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
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
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