Assina meu Feed ai!
Google
 


27 agosto 2007

Servidor Subversion no Windows XP

Introdução

Vou descrever aqui como fiz para montar um servidor Subversion (svn para os íntimos), que é um sistema de controle de versão, no windows XP que é a plataforma padrão nos trabalhos da faculdade. Não vou me aprofundar no que é controle de versão ou sobre o Subversion, para isso seguem alguns bons links no fim do Tutorial, vou me focar na instalação e em como criar um serviço do windows com ele (opcional)

Instalando o Subversion

Vamos começar baixando e instalando a Versão 1.4.4 for windows que pode ser encontrada no link a baixo. Inclui server e client.
Svn-1.4.4-setup
Oustras
versões

Você pode instala-lo numa pasta de fácil acesso como c:\subversion por exemplo (isso vai facilitar se você for configurar como serviço do windows), ou deixar o padrão C:\Arquivos de programas\Subversion\ mas ele já configura um path para o sistema, ou seja, pode ser chamado a partir de qualquer diretório.

Depois da instalação é comum quem é acostumado ao mundo windows a pergunta: "Cadê ele? Onde está a tela? Não tem Janelinha, botãozinho, click-click, etc.?". Não, não tem! O Svn é todo em linha de comando, isso porquê ele é originalmente um software Linux/Unix (Salve Linux!!). Os executáveis do sistema ficam na pasta bin, os principais são:
svnserve.exe => Servidor Subversion
svn.exe => Cliente Subversion
svnadmin.exe => Comando de funções Administrativas do Subversion
Só que agora a temos que configurar o svnserve para iniciar automaticamente, mas antes é preciso criar uma pasta onde ficarão os repositórios, vou chama-la de reps e agora sim é interessante que a pasta esteja em local fácil com a raiz de qualquer unidade disponível (c:, d:, e:, etc). Para isso basta digitar no prompt de comando o comando
md c:\reps
Para executar o svnserve você precisa digitar a seguinte linha de comando no prompt de comando:
svnserve -d -r c:\reps
Ou criar um atalho com a mesma linha acima onde c:\reps é pasta dos repositórios.

Configurando o svnserve como serviço do Windows

Clique para ver a imagem completaNa minha opinião essa é a melhor opção, pois como serviço do windows temos um controle mais fácil sobre sobre o svnserve podendo Iniciar, Parar e Reiniciar o serviço quando for preciso. No Linux essa é a opção padrão, já no windows é preciso um pouco mais de trabalho pois vamos usar o comando sc create, vamos lá.

Você vai precisar do endereço do svnserve.exe e endereço da pasta dos repositórios que no meu exemplo são c:\subversion\bin e c:\reps. Tendo isso digite no prompt de comando:

sc create svnserve binpath= "c:\subversion\bin\svnserve.exe --service -r c:\reps" displayname= "Servidor Subversion" depend= Tcpip start= auto
Onde:
  • binpath é a linha de comando do serviço, note que eu deixei em itálico os endereços que você deve adptar, por exemplo, se você instalou o subversion em c:\teste e a pasta de repositórios em c:\testereps, sua linha de fica assim "c:\teste\bin\svnserve.exe --service -r c:\testereps".
  • displayname é o nome que aparecerá na lista de serviços do Windows XP
  • depend é o serviço do qual o svnserve será dependente, no exemplo está Tcpip o que faz muito sentido mas é totalmente opcional.
  • start é para já deixar o serviço já configurado para iniciar automaticamente. Para criar o serviço somente, esse parâmetro também é opcional mas se não informado, o serviço será do tipo Manual e você precisará mudar no painel de controle o serviço para automático.

Observação 1:
Note que o sinal de igual(=) deve ficar junto do parâmetro e com um espaço em branco depois do sinal de igual. Por isso deixei em negrito no exemplo, e sim, ele é chato a esse ponto sim!!!!!
Clique pra ver a imagem completa
Observação 2: Se no endereço do Subversion tiver espaços em branco, como "c:\arquivos de programa\subversion\bin\svnserve.exe", por exemplo, você vai precisar inserir barras de escape do endereço, desta forma:
sc create svnserve binpath= "\"c:\Arquivos de programas\subversion\bin\svnserve.exe\" --service -r c:\reps" displayname= "Servidor Subversion" depend= Tcpip start= auto

Bom, acho que é isso, espero que esse tutorial seja util, qualquer coisa é só deixar um comentário!

Fontes
http://subversion.tigris.org/faq.html#svnserve-win-service
Ajuda do programa

Links sobre Subversion:
http://pt.wikipedia.org/wiki/Subversion
http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/subversion.php
http://svnbook.red-bean.com/

Links sobre Controle de Versão:
http://pt.wikipedia.org/wiki/Sistema_de_controle_de_versão
http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/controle_versao.php

4 comments:

Unknown disse...

VLW!!! é isso ae mulek!! manda ve! vo testa aqui depois comento se funfo legal! flw!

Malcomtux disse...

Poxa, pior é que lembrei falta uma parte, a de autenticação nos repositórios!

Vai ficar para um outro post!

Anônimo disse...

Agora só falta controle de acesso

Clear disse...
Este comentário foi removido pelo autor.