Como instalar e configurar um servidor de subversão (SVN)

Olá pessoal…

Hoje vou mostrar para vocês como instalar e configurar um servidor de SubVersão (SVN). Mas para que serve esse recurso altamente utilizado por programadores (até mesmo por programadores AdvPL)?

O que é SubVersão?

SubVersão ou SubVersion, abreviado por SVN, é um sistema de controle de versão de arquivos, ou seja, um versionador de arquivos e pastas. Mas como isso funciona?

Imagine que em uma equipe de desenvolvimento, existe o João, o José e o Aguinaldo, o João está criando um relatório de pedido de venda, o José uma importação de produtos, e o Aguinaldo um disparo de e-Mail… Todos eles em suas máquinas individuais.

O João acabou o relatório, e o José saiu de férias, então o João fica encarregado de acabar a importação de produtos, então ele faz um alinhamento com o José, e o José passa manualmente para eles os fontes por um pendrive.

Ai João vai poder continuar o projeto, mas ele perde o pendrive, e o José fica inacessível, o que fazer?

Esse jovens, é apenas um exemplo de um cotidiano em empresas de desenvolvimento, e apenas um cenário, sendo que podem existir vários que possam afetar fontes desenvolvidos, como quebra de equipamento (como notebooks, computadores, servidores), e neles houver a perca dos fontes ou como por exemplo também, a falta de alinhamento entre funcionários, e um ter o fonte mais atual que o outro.

Para isso foram criados tecnologias para o trabalho em equipe, e sempre deixar atualizado, como por exemplo o famoso GitHub. O SVN é similar ao Git, podendo ficar fechado em seu servidor, ou ficando na web (nesse artigo vou mostrar como instalar na sua rede local).

Basicamente o SVN contém 1 ou mais repositórios, e cada repositório pode ter várias pastas e arquivos dentro dela, por exemplo, na empresa XPTO tem um repositório para o projeto do site e um repositório para o projeto TOTVS cada um com seus fontes e pastas.

E tudo isso é gerenciado por um versionador, por exemplo, João alterou o arquivo pedido_venda.prw no dia 01/01/2018 às 18h45, ele fez um commit – envio para o servidor, tanto José como Aguinaldo, vão poder ver essa alteração nesse dia e nessa hora realizando um update – baixar do servidor.

Agora vamos na prática para instalar e configurar nosso servidor SVN.

Instalando um servidor SVN

1. Acesse o site do VisualSVN Server e faça o download do 64 bits ou 32 bits dependendo da sua máquina. O link é visualsvn.com/server/download/

Selecionando o instalador do Visual SVN Server

Selecionando o instalador do Visual SVN Server

2. Após o download, abra o instalador, e clique em Next.

Avançando com a instalação

Avançando com a instalação

3. Leia o termo da licença e pode clicar em Next.

Termos do Contrato

Termos do Contrato

4. Escolha a opção VisualSVN Server and Administration Tools, e pode adicionar na Path do sistema.

Escolhendo o tipo de instalação

Escolhendo o tipo de instalação

5. Clique na versão Standard (versão gratuita).

Escolhendo versão Standard

Escolhendo versão Standard

6. Confirme a porta do serviço, se será usado https, e defina um diretório para os repositórios (no nosso exemplo ficou em C:\Repositories).

Definindo diretórios

Definindo diretórios

7. Clique em Install.

Instalando

Instalando

8. Pode deixar marcado para iniciar o VisualSVN Server Manager.

Finalizando a instalação

Finalizando a instalação

9. Nesse momento, se você abrir os serviços do Windows, note que foram criados serviços do VisualSVN.

Verificando serviços do SVN

Verificando serviços do SVN

Configurando um novo repositório

1. Primeiramente será necessário criar um usuário, clique com o botão direito na pasta Users, e clique em Create User (caso queira, você pode vincular eles em grupos também).

Tela principal com repositórios

Tela principal com repositórios

2. Insira o usuário e a senha.

Criando usuário

Criando usuário

3. Note que na área direita já foi atualizado com o novo usuário criado.

Usuário criado

Usuário criado

4. Agora vamos criar um repositório, clique com o botão direito em Repositories, clique em Create New.

Acessando os repositórios

Acessando os repositórios

5. Escolha como um repositório Regular.

Opções do repositório

Opções do repositório

6. Insira um nome para o repositório.

Escolhendo o nome do repositório

Escolhendo o nome do repositório

7. Coloque que será um repositório em branco.

Escolhendo Repositório em Branco

Escolhendo Repositório em Branco

8. Na tela de permissões, você pode colocar que ninguém terá acesso, todos os usuários criados no SVN, ou somente alguns para isso, clique em Custom.

Editando as permissões

Editando as permissões

9. Clique em Add, e escolha o usuário ou o grupo que terá acesso, então coloque se não terá acesso, ou se terá acesso apenas para ler o conteúdo do repositório, ou se terá acesso de ler o conteúdo e também criar.

Definindo os usuários que terão acesso

Definindo os usuários que terão acesso

10. Será mostrado uma tela de resumo, inclusive com o link do repositório, sendo que esse link pode ser acessado via ip, ou pelo nome da máquina.

Caminho do repositório criado

Caminho do repositório criado

11. Note que será mostrado um novo repositório criado.

Repositório no aplicativo

Repositório no aplicativo

Instalando um cliente SVN

1. Baixe um cliente SVN, no nosso caso, iremos utilizar o Tortoise, sendo que a instalação dele, é bem simples e fácil. O link para download é tortoisesvn.net/downloads.html.

Baixando um cliente SVN

Baixando um cliente SVN

2. Após instalar, vamos testar o acesso ao nosso repositório, acesse o link via navegador mesmo (se for Firefox, pode adicionar exceção de segurança).

Acessando via Firefox

Acessando via Firefox

3. Coloque usuário e senha.

Colocando usuário e senha

Colocando usuário e senha

4. Note que será mostrado que existe o repositório, então agora podemos prosseguir com o Tortoise.

Verificando repositório no Firefox

Verificando repositório no Firefox

5. Crie uma pasta, e dentro dessa pasta, clique com o botão direito do Mouse e vá em SVN Checkout.

Dando Checkout pelo Tortoise

Dando Checkout pelo Tortoise

6. Aponte o caminho do SVN e pode confirmar.

Revisando o Checkout

Revisando o Checkout

7. Coloque usuário e senha.

Inserindo a autenticação

Inserindo a autenticação

8. Agora ao clicar com o botão direito, existirá a opção de baixar alterações (Update), de enviar (Commit), além de outras várias opções que o Tortoise disponibiliza (como histórico, ver gráficos comparando quem mais deu commit, etc).

Opções do Tortoise

Opções do Tortoise

9. Para exemplo, crie uma pasta e um arquivo.

Pastas e arquivos

Pastas e arquivos

10. Clique com o botão direito na pasta, e depois em Commit, e veja os arquivos que serão enviados e pode confirmar.

Dando um Commit das alterações

Dando um Commit das alterações

11. Ao acessar via navegador, note que já existem as alterações lá.

Verificando no Firefox

Verificando no Firefox

12. E pelo VisualSVN Server Manager, também irá existir as alterações lá.

Verificando no aplicativo

Verificando no aplicativo

13. Crie uma subpasta de teste via VisualSVN Server Manager, e pelo Tortoise, dê um Update, se tudo ocorrer certo, você já pode usar normalmente o seu servidor SVN.

Dando Update pelo Tortoise

Dando Update pelo Tortoise

Referências:
blog.tiagopassos.com

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

10 Responses

  1. George Lopes disse:

    Grande Atílio! Excelente explicação. Instalei aqui e tudo funcionando perfeitamente! Obrigado mais uma vez!

  2. Fabricio Fernando disse:

    Exclente, testado, funcionando perfeitamente! obrigado

  3. Matheus disse:

    Bom dia Atilio! Saberia me ajudar como faço para configurar um novo SVN com uma base de repositório já existente? Hoje tenho um servidor de SVN antigo e preciso configurar um novo, porém preciso que a base antiga seja migrada para este novo. Obrigado.

  4. Matheus disse:

    Obrigado pela ajuda! Vou seguir os passos do link disponibilizado.

    Abs,

  5. Gamarra de Jesus Daniel disse:

    Obrigado pelo artigo me ajudou muito!

Deixe uma resposta