Como criar e usar um servidor Subversion (SVN)
Subversion é um software muito usado para controle de versões de sistemas. Muitas vezes desenvolvemos um projeto e precisamos ter um bom controle do seu versionamento, nesse caso o svn é uma ferramenta muito interessante.
Nesse documento estão descritas algumas maneiras de configurar um servidor svn e alguns comandos úteis para usá-lo.
Os pacotes necessários para a instalação e configuração são os seguintes:
- httpd [ou apache ou apache2 (depende da distribuição)]
- subversion
- mod_dav_svn [ou subversion-server ou libapache2-svn (depende da distribuição)]
Partiremos do princípio que os pacotes do httpd já estejam instalados na máquina que será o servidor svn.
Para outras informações úteis sobre svn temos "Apresentação da Ferramenta de Versionamento" e "Comandos úteis".
1. Site oficial
2. Instalando os pacotes svn
Como o yum calcula as dependências automaticamente, podemos iniciar com o módulo para o protocolo httpd (apache), que o servidor svn será juntamente instalado.
# yum -y install mod_dav_svn
Resolved
===================================================
Package Arch Version Repository Size
===================================================
Installing:
mod_dav_svn i386 1.4.2-2.fc6 updates 70 k
subversion i386 1.4.2-2.fc6 updates 2.3 M
Transaction Summary
===================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
3. Criar um repositório svn no servidor
Nos passos abaixo usaremos um repositório chamado /var/svn, mas se desejar criá-lo em /home/usuário/svn, ou em qualquer outro local desejado, basta trocar /var/svn pelo qual será usado em seu servidor.
Antes de criar o repositório precisamos ter o diretório correspondente no sistema, por isso, use o comando abaixo para criá-lo:
# mkdir /var/svn
Agora vamos executar o comando necessário para criar o repositório /svn, vale lembrar que o comando abaixo deve ser executado em um diretório vazio, porém, já existente no sistema, pois o subversion irá apenas criar a estrutura necessária para o controle de versões, então execute o comando abaixo para tal procedimento:
# svnadmin create /var/svn
Vale uma observação aqui, até a versão 1.1 do subversion, o tipo de repositório padrão era o Berkeley DB, mas a partir da versão 1.2 o padrão passou a ser o FSFS. O suporte FSFS apareceu na versão 1.1. Na 1.0 apenas o Berkeley DB era suportado.
Para especificar o tipo do repositório pode-se usar o argumento --fs-type:
# svnadmin create --fs-type fsfs /var/svn;
ou
# svnadmin create --fs-type bdb /var/svn
O repositório criado estará vazio e começará a contar a partir da revisão 0 (zero), a qual corresponderá à sua criação.
Para mais informações sobre o tipo do repositório acesse: