Pergunta

Estou curioso para ouvir as experiências daqueles que atualmente executam seu servidor SVN no Windows.

Jeff Atwood tem uma postagem sobre como configurar o SVN como um serviço do Windows.É um ótimo primeiro passo, mas não aborda outros tópicos, como:

  • O que usar para um navegador de repositório baseado na web? WebSVN pode funciona no Windows, mas não é bonito.
  • Como gerenciar o arquivo passwd?
  • É possível integrar com o Active Directory sem executar o Apache?
  • Estratégias para fazer backup do repositório.
  • Padrões úteis de ignorar global para desenvolvimento do Visual Studio (sugestões aqui, aqui, e aqui por exemplo).

Nossa empresa mudou do SourceGear Vault para o Subversion há cerca de um mês.Conhecemos o básico, mas adoraríamos descobrir dicas e truques das pessoas para executar o SVN em um mundo MSFT.

Foi útil?

Solução

Usar Servidor VisualSVN.Ele se integra à autenticação do Windows e cuida de toda a configuração do Apache.É tão simples quanto o SVN pode ser no Windows.

Outras dicas

VisualSVN é o caminho a percorrer.O suporte integrado ao Active Directory é muito fácil de usar.

Descobri que o VisualSVN é cerca de 50% mais lento do que executar o SVN como um serviço nativo.Eu sempre assumi

isso foi por causa do acesso via http:// com Apache, o que parece que teria que ser mais lento

do que acessar via svn://, que é TCP/IP nativo.

O experimento

Nos últimos 30 minutos, eis o que fiz:

  • Instalei o VisualSVN na porta 8080, lado a lado com minha instalação SVN existente
  • Importou três repositórios existentes para VisualSVN
  • Expulsei todo mundo do servidor
  • Fiz comparações lado a lado de um checkout SVN completo

Resultados

Repo 1: 652 files, 273 directories, 60.1MB
  23 seconds for VisualSVN over http:// 
  16 seconds for SVN over svn://

Repo 2: 4623 files, 964 directories, 127.9MB
  2 minutes, 18 seconds for VisualSVN over http://
  1 minute, 30 seconds for SVN over svn://

Isso ocorre em hardware idêntico, com exatamente o mesmo repositório.Gosto de como o VisualSVN é fácil, mas a integração do AD e a GUI não valem um impacto de 50% no desempenho.

Alguém mais viu essa diferença?Estou fazendo algo errado apenas seguindo as opções de instalação padrão?

Eu tenho tutoriais bastante detalhados no meu blog http://tv.inner-rhythm.co.uk/ sobre como configurar o SVN com Apache e Trac que usamos na minha empresa e que funciona para nós.

Eu uso uma combinação de VisualSVN e Tortoise.Ele não se integra bem ao visual studio, mas você pode usar outros plugins/aplicativos para isso.

Trac é certamente o melhor software de gerenciamento de projetos baseado na web que uso, ele se integra ao Subversion para que você possa ver os cronogramas de commits e diferenças de cada versão, permite tickets e relatórios de bugs e possui um wiki integrado.

http://trac.edgewall.org/wiki/TracOnWindows

Um pouco de conhecimento de python e é fácil de colocar em funcionamento (se você estiver no Windows, use o servidor tracd: http://trac.edgewall.org/wiki/TracStandalone (este link mostrará como instalá-lo como um serviço do Windows).

Eu recomendo TortoiseSVN.Ele adiciona recursos SVN ao Windows Explorer.Além disso, o TortoiseSVN verifica se o IDE que você está usando tem suporte para SVN.

Rich Strahl acaba de postar uma entrada no blog sobre Running VisualSVN Server for Subversion Source Control.Vale a pena ler:

http://west-wind.com/weblog/posts/480534.aspx

Para fazer backup, escrevi uma combinação de um arquivo em lote e um VBScript que é executado uma vez por semana como uma tarefa agendada.Isto:

  • Verifica uma pasta específica no sistema de arquivos procurando recursivamente por repositórios SVN (temos uma infinidade de repositórios pequenos, pois descobrimos que um super-repositório rapidamente se tornou difícil de manter e intoleravelmente lento quando usado com o TortoiseSVN);
  • Usa svnadmin hotcopy em cada repositório encontrado para criar um backup;
  • 7compacta todos os backups em um único arquivo;
  • Monta um compartilhamento em uma SAN e copia o arquivo;
  • Exclui todos os arquivos temporários;
  • Envia por e-mail uma notificação de "sucesso".

Servidor VisualSVN + Trac + TortoiseSVN + Ankhsvn.

Feito.Suave como seda.O que o Visual SourceSafe deveria ter sido.

Acho que você está vendo a diferença entre o protocolo svn e hospedar o protocolo svn em outro.
O desempenho semelhante diminui ao usar svn+ssh em comparação com svn.

A facilidade de configuração tornou isso um acéfalo para minha equipe, apenas jogamos em uma VM e corremos.

Executar o SVN no Apache realmente não é tão difícil.E você pode usar mod_auth_sspi para integração com o diretório ativo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top