1. Sistemas de Controlo de Vers˜es
o
Alberto Manuel Brand˜o Sim˜es
a o
ambs@di.uminho.pt
9 de Outubro de 2008
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
2. Sistemas de Controlo de Vers˜es
o
Permitem:
armazenar diferentes vers˜es;
o
gerir hist´ricos de altera¸˜es;
o co
indirectamente, servir de backup;
Podem ser: locais, centralizados ou distribu´
ıdos.
Local Centralizado Distribu´
ıdo
sccs cvs git
rcs svn bazaar (bzr)
perforce darcs
mercurial
arch
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
3. Sistemas de Controlo de Vers˜es
o
Permitem:
armazenar diferentes vers˜es;
o
gerir hist´ricos de altera¸˜es;
o co
indirectamente, servir de backup;
Podem ser: locais, centralizados ou distribu´
ıdos.
Local Centralizado Distribu´
ıdo
sccs cvs git
rcs svn bazaar (bzr)
perforce darcs
mercurial
arch
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
4. Local vs Centralizado vs Distribu´
ıdo
Os Sistemas Locais:
s˜o mono-utilizador;
a
Os Sistemas Centralizados:
s˜o multi-utilizador, permitindo uso cooperativo;
a
tˆm sistemas integrados de gest˜o de conflitos;
e a
precisam de um servidor centralizado;
o servidor tem a ultima vers˜o;
´ a
´ necess´ria conectividade;
e a
Os Sistemas Distribu´
ıdos:
s˜o multi-utilizador, permitindo uso cooperativo;
a
tˆm sistemas integrados de gest˜o de conflitos;
e a
cada utilizador tem uma c´pia completa do reposit´rio;
o o
n˜o ´ necess´ria conectividade;
a e a
existem v´rias ultimas vers˜es;
a ´ o
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
5. Local vs Centralizado vs Distribu´
ıdo
Os Sistemas Locais:
s˜o mono-utilizador;
a
Os Sistemas Centralizados:
s˜o multi-utilizador, permitindo uso cooperativo;
a
tˆm sistemas integrados de gest˜o de conflitos;
e a
precisam de um servidor centralizado;
o servidor tem a ultima vers˜o;
´ a
´ necess´ria conectividade;
e a
Os Sistemas Distribu´
ıdos:
s˜o multi-utilizador, permitindo uso cooperativo;
a
tˆm sistemas integrados de gest˜o de conflitos;
e a
cada utilizador tem uma c´pia completa do reposit´rio;
o o
n˜o ´ necess´ria conectividade;
a e a
existem v´rias ultimas vers˜es;
a ´ o
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
6. Local vs Centralizado vs Distribu´
ıdo
Os Sistemas Locais:
s˜o mono-utilizador;
a
Os Sistemas Centralizados:
s˜o multi-utilizador, permitindo uso cooperativo;
a
tˆm sistemas integrados de gest˜o de conflitos;
e a
precisam de um servidor centralizado;
o servidor tem a ultima vers˜o;
´ a
´ necess´ria conectividade;
e a
Os Sistemas Distribu´
ıdos:
s˜o multi-utilizador, permitindo uso cooperativo;
a
tˆm sistemas integrados de gest˜o de conflitos;
e a
cada utilizador tem uma c´pia completa do reposit´rio;
o o
n˜o ´ necess´ria conectividade;
a e a
existem v´rias ultimas vers˜es;
a ´ o
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
7. Subversion, aka svn
O SVN est´ dispon´
a ıvel:
em todas as distribui¸˜es Linux;
co
(em Ubuntu n˜o ´ instalado por omiss˜o)
a e a
para instala¸˜o em MacOS X;
ca
(via fink ou macports, ...)
para instala¸˜o em Windows;
ca
(sugest˜o do chefe, TortoiseSVN)
a
para compila¸˜o pelos necessitados;
ca
(http://subversion.tigris.org/downloads/)
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
8. Criar um Reposit´rio (for admins)
o
numa m´quina ligada ` rede;
a a
pelo menos acess´ por todos os seus utilizadores
ıvel
utilizando os menus do TortoiseSVN;
para os fan´ticos do windows
a
utilizando a linha de comandos do svn;
para Homens a s´rio.
e
svnadmin create /path/to/the/centralized/repository
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
9. Criar um Reposit´rio (for admins)
o
numa m´quina ligada ` rede;
a a
pelo menos acess´ por todos os seus utilizadores
ıvel
utilizando os menus do TortoiseSVN;
para os fan´ticos do windows
a
utilizando a linha de comandos do svn;
para Homens a s´rio.
e
svnadmin create /path/to/the/centralized/repository
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
10. Comandos B´sicos (for common-users)
a
Criar uma c´pia local de trabalho:
o
svn co http://host.tld/path/to/repository
Actualizar a c´pia local com a ultima vers˜o:
o ´ a
svn up
Enviar altera¸˜es para o reposit´rio:
co o
svn ci
Adicionar um ficheiro/directoria ao reposit´rio:
o
svn add file1 file2 dir1 dir2
mas s´ fica dispon´ depois de um commit.
o ıvel
Remover um ficheiro/directoria do reposit´rio:
o
svn remove file1 file2 dir1 dir2
mas os ficheiros s´ s˜o removidos depois de um commit.
o a
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
11. Comandos B´sicos (for common-users)
a
Criar uma c´pia local de trabalho:
o
svn co http://host.tld/path/to/repository
Actualizar a c´pia local com a ultima vers˜o:
o ´ a
svn up
Enviar altera¸˜es para o reposit´rio:
co o
svn ci
Adicionar um ficheiro/directoria ao reposit´rio:
o
svn add file1 file2 dir1 dir2
mas s´ fica dispon´ depois de um commit.
o ıvel
Remover um ficheiro/directoria do reposit´rio:
o
svn remove file1 file2 dir1 dir2
mas os ficheiros s´ s˜o removidos depois de um commit.
o a
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
12. Comandos B´sicos (for common-users)
a
Criar uma c´pia local de trabalho:
o
svn co http://host.tld/path/to/repository
Actualizar a c´pia local com a ultima vers˜o:
o ´ a
svn up
Enviar altera¸˜es para o reposit´rio:
co o
svn ci
Adicionar um ficheiro/directoria ao reposit´rio:
o
svn add file1 file2 dir1 dir2
mas s´ fica dispon´ depois de um commit.
o ıvel
Remover um ficheiro/directoria do reposit´rio:
o
svn remove file1 file2 dir1 dir2
mas os ficheiros s´ s˜o removidos depois de um commit.
o a
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
13. Comandos B´sicos (for common-users)
a
Criar uma c´pia local de trabalho:
o
svn co http://host.tld/path/to/repository
Actualizar a c´pia local com a ultima vers˜o:
o ´ a
svn up
Enviar altera¸˜es para o reposit´rio:
co o
svn ci
Adicionar um ficheiro/directoria ao reposit´rio:
o
svn add file1 file2 dir1 dir2
mas s´ fica dispon´ depois de um commit.
o ıvel
Remover um ficheiro/directoria do reposit´rio:
o
svn remove file1 file2 dir1 dir2
mas os ficheiros s´ s˜o removidos depois de um commit.
o a
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o
14. Comandos B´sicos (for common-users)
a
Criar uma c´pia local de trabalho:
o
svn co http://host.tld/path/to/repository
Actualizar a c´pia local com a ultima vers˜o:
o ´ a
svn up
Enviar altera¸˜es para o reposit´rio:
co o
svn ci
Adicionar um ficheiro/directoria ao reposit´rio:
o
svn add file1 file2 dir1 dir2
mas s´ fica dispon´ depois de um commit.
o ıvel
Remover um ficheiro/directoria do reposit´rio:
o
svn remove file1 file2 dir1 dir2
mas os ficheiros s´ s˜o removidos depois de um commit.
o a
Alberto Sim˜es
o Sistemas de Controlo de Vers˜es
o