subversion

Como tinha dito no último post falarei  como autenticar um repositório svn mas antes disso darei uma dica para quem precisa encurtar o caminho de acesso.

Se você perceber no ultimo post o caminho do repositório para acesso externo ficou

svn://250.1.168.72/home/rodrigoclira/projeto

Além de ser extremamente grande, revela todo uma série de diretórios no seu pc, uma forma simples de resolver isso é criando um link simbólico no diretório raiz,

rodrigoclira@desktop:/# ln -s /home/rodrigoclira/projeto projeto
rodrigoclira@desktop:/# chmod 777 projeto

Agora podemos utilizar apenas

svn://250.1.168.72/projeto

Vamos para a autenticação…

Primeiramente, há três maneiras de fazer uma autenticação num repositório, via ssh, apache ou svn. Vou explicar utilizando a do próprio svn que é bem simples.

Dentro de qualquer repositório há algumas pastas entre elas a ‘conf’, essa pasta contém os arquivos que iremos alterar.

É no arquivo ‘passwd’ que iremos definir os usuários e suas respectivas senhas.

[users]
rodrigo = 1234

Dessa forma o repositório terá apenas um usuário, ‘rodrigo’ com a senha ‘1234’.

Agora é necessário alterar algumas linhas da tag [general] do arquivo ‘svnserve.conf’, que se encontra na mesma pasta.

No final a sua aparência será algo como

[general]
# Acesso anônimo não é autorizado
anon-access = none # outras opções, read ou write
# Usuários autenticados podem ler e escrever
auth-access = write
# O arquivo que define os usuários
password-db = passwd
# Nome real do repositório
realm = Repositorio do Rodrigo


Com essa configuração qualquer acesso ao repositório só será permitido após uma autenticação.

Instalando servidor svn no linux

| Controle de versão com Subversion

Rodrigo Lira

“Um sistema de controle de versão é um software que tem finalidade gerenciar diferentes tipos de versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões – histórico e desenvolvimento – dos códigos-fontes e também da documentação. Este tipo de sistema é muito presente em empresas e instituições de tecnologia e desenvolvimento de software. É também muito comum no desenvolvimento de software livre. É útil, em diversos aspectos, tanto para projetos pessoais pequenos e simples como também para grandes projetos comerciais.”

Texto retirado do Wikipedia

Recentemente foi necessário instalar e configurar um servidor svn na empresa que estagio. Devido a grande quantidade de informação inútil absorvida na internet e minha total inexperiência no assunto, a instalação demorou mais do que o necessário porém o procedimento é bem simples. A instalação foi feita numa máquina virtualizada através do VMware com o Debian Lenny.

Vamos lá !

Para o funcionamento do Servidor SVN é necessário a instalação de três pacotes, o subversion, apache2 e a libapache2-svn. Para instalar os pacotes, como root, digite no terminal

#apt-get install subversion

#apt-get install apache2

#apt-get install libapache2-svn

Bem agora é necessário adicionar duas linhas no arquivo de configuração do apache, “httpd.conf” e caso você esteja usando Debian é necessário fazer o mesmo para o “apache2.conf”. Ambos são encontrados em /etc/apache2/

Adicione o seguinte

LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so

LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so

Depois é necessário reiniciar o servidor apache

rodrigoclira:/etc/apache2/# /etc/init.d/apache2 restart

Será impresso algo parecido com isso na tela

Forcing reload of web server: Apache2[Sun Apr 03 22:16:45 2010] [warn] module dav_module is already loaded,skipping

[Sun Apr 03 22:16:45 2010] module dav_svn_module is already loaded,skipping

[Sun Apr 03 22:16:48 2010] module dav_module is already loaded, skipping.

[Sun Apr 03 22:16:48 2010] module dav_svn_module is already loaded,skipping

Bem, está quase tudo pronto, agora é necessário rodar o comando svnserve que permite acessar aos repositórios usando o svn network protocol.

#svnserve -d

DICA Adicione esse comando no script de inicialização da máquina, veja como no artigo do vivaolinux

Acabada as configurações, vamos criar um repositório SVN

rodrigoclira@desktop:/home/rodrigoclira# svnadmin create projeto

Onde “projeto” é o nome do repositório a ser criado. Para acessar externamento ao repositório por um cliente SVN, como o TortoiseSVN , RapidSVN ou o svn, dê um checkout informando na url o seguinte

svn://IPdaMAQUINA/CAMINHOdoREPOSITORIO

 

Se tudo foi feito corretamente aparecerá a confirmação do checkout, informando que não há alterações no repositório.

Esse tutorial é baseado no Playing with SVN do Debian Administrator

Próximo post eu escreverei algumas dicas e explicarei como colocar autenticação no repositório SVN.

| Autenticação no repositório svn

| Controle de Versão com Subversion

| HP12C on line

Rodrigo Lira