Manutenção de repositório SVN no Linux
Atualizado em:
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
Deixe um comentário