DEV Community

Paulo Collares
Paulo Collares

Posted on • Originally published at paulocollares.com.br on

Manutenção de repositório SVN no Linux

Por mais que o GIT tenha dominado o mercado de controladores de versões, o SVN ainda é bastante usado, por isso, trouxe esse breve tutorial com as principais ações que podem ser feitas nesta ferramenta.

Para fim de demonstração, vou considerar que temos um projeto de nome ‘my-project’, hospedado em um repositório na rede local, no endereço ‘https://192.168.1.20/’ e vou trabalhar no meu diretório home, em /home/pcollares/.

Também vou considerar que a estrutura inicial já foi criada, como descrito abaixo:

my-project
├─ branches 
├─ tags
└─ trunk

Checkout do repositório

Navegue até o diretório que deseja baixar o repositório:

$ cd /home/pcollares

Execute o comando para realizar o checkout:

$ svn co https://192.168.1.20/svn/my-project

Criação de um novo Branche

Navegue até a raiz do repositório:

$ cd /home/pcollares/my-project

Rode o comando de criação do branche:

$ svn copy https://192.168.1.20/svn/my-project/trunk/ /home/pcollares/my-project/branches/[nome_do_branche]

Faça o commit da criação do Branche:

$ cd branches/[nome_do_branche]

$ svn commit -m "Criação do branche [nome_do_branche]

Atualização de um Branche com as alterações do Trunk

Navegue até o branche:

$ cd /home/pcollares/my-project/branches/[nome_do_branche]

Atualize o branche:

$ svn update

Teste possíveis conflitos:

$ svn merge --dry-run https://192.168.1.20/svn/my-project/trunk

Rode efetivamente o merge com o Branche:

$ svn merge https://192.168.1.20/svn/my-project/trunk

Faça commit do Branche:

$ svn commit -m "Merge entre o trunk e o branche [nome_do_branche]"

Reintegração de um Branche

Navegue até o trunk:

$ cd /home/pcollares/my-project/trunk/

Atualize o trunk:

$ svn update

Teste possíveis conflitos com o –dry-run:

$ svn merge --reintegrate --dry-run https://192.168.1.20/svn/my-project/branches/[nome_do_branche]

Rode efetivamente a reintegração o Trunk:

$ svn merge --reintegrate https://192.168.1.20/svn/my-project/branches/[nome_do_branche]

Resolva os possíveis conflitos.

Faça commit do trunk:

$ svn commit -m "Reintegração do Branche [nome_do_branche] com o Trunk"

Como esta linha de desenvolvimento se encerrou, remova este branche:

$ svn delete https://192.168.20.1/svn/my-project/branches/[nome_do_branche] -m "Remoção do branche [nome_do_branche] após a reintegração com o trunk"

Remova o diretório local do Branche:

$ rm -Rf /home/pcollares/my-project/branches/[nome_do_branche]

Criação de uma Tag

Navegue até o diretório do projeto:

$ cd /home/pcollares/my-project/

Crie a nova tag a partir do trunk:

$ svn copy https://192.168.1.20/svn/my-project/trunk/ tags/[nome_da_tag]

Faça commit da criação da tag:

$ cd tags

$ svn commit -m "Fechamento da criação da tag [nome_da_tag]"

Referências

http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html

[]’s

Top comments (0)