Pular para o conteúdo

Configurando Subversion

O subversion (SVN) é um ótimo controlador de versões, não só para programação, mas para imagens, vídeos, arquivos texto, binários e todo tipo de arquivo digital que for preciso um versionamento.
Ricardo Brito do Nascimento rbn_jesus
Hits: 189.129 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Como criar e usar um servidor Subversion (SVN) passo a passo

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:
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Como criar e usar um servidor Subversion (SVN) passo a passo
   2. Customizando o servidor SVN
   3. Configurando o apache para conexões http com svn
   4. Gerenciando projetos e arquivos no svn
   5. Dicas adicionais e bibliografia

Conexão com chaves assimétricas sem uso de senha em servidor sshd

Formatando exibição de datas no Linux

Instalação Plone 2.5.5 com módulos customizados

Proteção utilizando fail2ban contra ataques do tipo

Explorando o wget

StarDict - software de tradução de ótima qualidade!

LaTex no Fedora 20 - Instalação via YUM

Vala: Vale a pena aprender uma nova linguagem de programação?

FeniX Green 3D/HD

Visualizando Área de Trabalho Remota

#1 Comentário enviado por joaomc em 29/05/2008 - 09:10h
Uma boa pedida para quem quiser instalar um servidor Subversion no Windows é usar o Collabnet Subversion Server, que já vem empacotado com tudo o que precisa. Funciona muito bem.
Eu gosto muito de usar o Git-SVN para interagir com repositórios SVN. Vale a pena aprender.
#2 Comentário enviado por Bruno Faria em 29/05/2008 - 14:11h
Olá,
muito bom o artigo, ótimo mesmo.
Porém, qual seria a diferença entre CVS e SVN?
#3 Comentário enviado por gjr_rj em 29/05/2008 - 18:57h
Gostei do artigo, bom mesmo !
#4 Comentário enviado por leobragatti em 30/05/2008 - 12:00h
cara, excelente artigo
ja implementei aqui e vou começar a fazer os trabalho de faculdade com os caras da faculdade usando isso :)

Muito obrigado pelo artigo
abraços
#5 Comentário enviado por joaomc em 02/06/2008 - 09:33h
@brunoh,

O SVN foi basicamente construído para substituir o CVS. Entre as vantagens, podemos citar os commits atômicos com changesets (conjuntos de mudanças): As alterações feitas no repositório são enviadas em bloco. No CVS, as alterações são feitas por arquivo. Assim, tem-se um histórico mais claro e limpo das modificações.
#6 Comentário enviado por gokden em 13/10/2008 - 18:36h
pessoal... eu uso o openSUSE 11
e ocorre este erro aqui..

httpd2: Syntax error on line 180 of /etc/apache2/httpd.conf: Syntax error on line 102 of /etc/apache2/default-server.conf: Syntax error on line 2 of /etc/apache2/conf.d/subversion.conf: Cannot load /srv/www/modules/mod_dav_svn.so into server: /srv/www/modules/mod_dav_svn.so: cannot open shared object file: No such file or directory

alguem sabe o pq ??
me parece que ele não encontrou o mod_dav_svn.so =D
alguem jah teve este problema ??
#7 Comentário enviado por guiteodasilva em 15/10/2008 - 16:56h
Fala ai galera,
Seguite instalei o subversion no meu servidor (ubuntu 8.04) e depois o subclipse no eclipse da minha máquina pessoal(ubuntu 8.04).
Conecto tranquilo no repositorio consigo dar commit,update, checkout.

Os aquivos transferidos para o repositorio no servidor pela interface do eclipse aparecem tranquilo tranquilo consigo abrir e tudo mais. So que, quando entro no servidor e entro no repositorio e mando listar os arquivo, os mesmos não se encontram la. executo o locate e nada também. Ja tentei de tudo, me ajudem!!!

Valew.
#8 Comentário enviado por gokden em 04/11/2008 - 15:56h
oi denovo gente...
alguem sabe se tem algum jeito onde eu possa dar privilégios separadas de usuário para usuário ?
exemplo:
o user a pode vizualizar o arquivo a
o user b pode vizualizar o arquivo b
mas o user a nao ve o arquivo b nem o user b ve o arquivo a =D

deu pra intende ??

grato....
#9 Comentário enviado por parrera em 09/11/2009 - 10:45h
Bom demais este tutorial, mas o seguinte, uso o svnserve como meu servidor que roda em uma máquina que usa OpenSUSE 11.1, seguinte, na minha rede interna o svn está funcionando normalmente, mas agora gostaria de compartilhar nosso repositorio com uma outra rede, tem como fazer isso usando o svnserve ou é preciso usar o apache?
Obs: Quero que outra rede passe a comunicar com nosso repositorio, para cliente usamos o tortoiseSVN(windows), tem como isso usando o svnserve? Existe algum tutorial para isso?Alguma dica?Obrigado à todos
#10 Comentário enviado por klebervirgilio em 22/01/2010 - 13:07h
M diga, como fica as trunk/branches/ tags????
#11 Comentário enviado por esardenberg em 16/03/2012 - 15:21h
Amigos

Preciso renomear o nome de um repositorio já em utilização. Somente renomeio a pasta criada?

Obrigado

Contribuir com comentário

Entre na sua conta para comentar.