Procedimentos técnicos do PoP-BA

PR-137 - Dicas para utilização de repositórios Subversion (Linux)
Data Criação: 9 Jan 2012
Data Revisão: 20 Feb 2015

1. Objetivo

Este procedimento descreve algumas dicas para utilização do SVN no Linux.

2. Aplicação

Esse procedimento é voltado para o PoP-BA.

3. Definições

  • SVN ou Subversion: sistema de controle de versões centralizado

4. Descrição das etapas

Subversion no terminal



Inicialmente, temos que criar uma pasta onde será gerada a cópia de trabalho a partir do repositório.
mkdir <destino>

Quando for preciso efetuar modificações em um projeto que já está no svn, antes é preciso fazer o checkout, ou seja, efetuar o download dos arquivos correspondentes ao projeto.

  svn co <caminho>  <destino>

Os arquivos existentes neste repositório serão copiados para a pasta de destino e será possível criar e modificar arquivos e pastas.

Tais modificações, porém, são locais e não afetam os arquivos situados no servidor Subversion a não ser que exportemos as nossas alterações. Para isso usamos os seguintes comandos que geram uma lista de atualizações que serão efetivadas com o uso do commit  que efetivamente envia as modificações ao repositório.

Para adicionar um novo arquivo ao repositório, use:

svn add <arquivo>

Para criar uma pasta:

svn mkdir <pasta> 

Já para remover algum arquivo do diretório, use

svn rm <arquivo> 

lembrando que você deve estar na pasta que corresponda  ao compartilhamento onde você quer colocar (ou apagar) o arquivo.

Para que aos arquivos adicionados e/ou removidos sejam efetivados no repositório é necessário usar o

svn commit [<arquivos>] [-m "<comentário>"] 

Este é o comando que atualiza o que você modificou na pasta local no repositório. Se você modificar um arquivo, para atualizá-lo no repositório usa-se este mesmo comando.

Se nenhum arquivo for listado, serão atualizados todos os arquivos do diretório local. Se não for adicionada o -m "[comentário]"  será aberto um editor de texto onde deverá ser digitado um comentário.

São interessantes também os comandos

svn log

que mostra uma lista com as modificações recentes do diretório e

svn diff 

que mostra as diferenças existentes entre os arquivos da sua pasta e os correspondentes no diretório.


Subversion no Modo Gráfico

Se você preferir usar um aplicativo gráfico para usar o sistema de versão não precisa ir para os Windows... pode-se utilizar o kdesvn.

kdesvn.png

KDESVN é um aplicativo do KDE mas que pode ser instalado em qualquer sistema baseado em Debian através de:
aptitude install kdesvn

Primeiramente, para baixar o repositório (checkout) vá em  Subversion > General > Checkout a repository , coloque o endereço do repositório no formato https://intranet.pop-ba.rnp.br/svn/<caminho> e coloque o target directory (diretório local).
Você deve escolher a revisão a ser baixada, usando as opções existentes. A opção padrão é a Head que a última versão, a versão mais nova.
Além da Head temos  Number (numero da revisão), Date (última revisão existente nesta data), Start (versão '0') e Work ( versão usada atualmente).

Os arquivos serão baixados e serão mostrados na tela principal. São mostradas várias propriedades como última revisão em que o arquivo foi atualizado, a data de tal atualização e seu autor. Colocando o mouse sobre os arquivos, aparecem mais detalhes.

Agora você pode editar o arquivos, que estarão na pasta escolhida como target directory. A interface é bem simples e tem os mesmos comandos do modo texto. A maioria dos comandos para trabalhar com a cópia local estão em Subversion >  Working Copy e os links mais usados estão na barra de tarefas.

Para que as modificações sejam enviadas para o serviror é necessários fazer um commit em Subversion > Working Copy > Commit ou no botão correspondente na barra de ferramentas.

São interessantes também os utilitários de log e de diff, bem feitos e poderosos. Além disto, a interface mostra os arquivos que vão ser deletados, os adicionados e marcar em vermelho os alterados.

Quando temos já a cópia local fazemos File > Open e abrimos a pasta contendo o repositório e carregamos todos os dados (arquivos adicionados, removidos, alterados, etc.).

5. Responsabilidades e Autoridades

Definição das pessoas e suas responsabilidades com relação a tarefas deste processo, inclusive a manutenção deste

6. Fluxograma

Fluxograma com os passos para a execução deste processo

7. Documentos Relacionados

Documentos que serão utilizados na execução deste processo

8. Referências