Alguma desvantagem em acessar os repositórios do Subversion através de file:// para um desenvolvedor solo?

StackOverflow https://stackoverflow.com/questions/32598

  •  09-06-2019
  •  | 
  •  

Pergunta

Se você tem o Subversion instalado em sua máquina de desenvolvimento e não trabalha em equipe, há alguma razão para você usar o svn protocolo em vez de arquivo?

Foi útil?

Solução

Se você estiver trabalhando sozinho em uma única máquina, na minha experiência, usar o protocolo file:// funciona bem.Mesmo quando minha equipe estava usando o Subversion em um servidor remoto, eu configurava um repositório local baseado em arquivo para meus projetos pessoais.Se você chegar ao ponto em que precisa acessá-lo de uma máquina diferente, eu me daria ao trabalho de configurar um repositório baseado em servidor.Você também pode olhar para um sistema distribuído como o Mercurial - estávamos avaliando-o na minha última empresa pouco antes de eu sair - mas definitivamente escolha um ou outro, misturar svn e hg não funciona bem.

Outras dicas

Você sempre pode adicionar um servidor Subversion mais tarde, fazer com que ele aponte para o seu repositório file:// e você obterá acesso svn:// imediatamente.

O protocolo não importa, apenas permite o transporte em diferentes tipos de meio, o que importa é o conteúdo do repositório.

E instalar o SVNSERVE posteriormente é bastante fácil.

No entanto, o tipo de software subversão que você usa é importante, por exemplo, um fornecedor faz com que os metadados sejam armazenados em "_svn" em vez de ".svn", você pode querer verificar a compatibilidade primeiro.

Acredito que, desde que o uso das ferramentas SVN relevantes esteja habilitado, você não deverá ter problemas - como outros disseram, você sempre pode configurar um servidor mais tarde.

Minha dica então é ter certeza de que você pode usar ToroiseSVN e o cliente de subversão Collabnet.

Uma dica importante para facilitar a configuração de um servidor SVN agora, se você quiser, é usar um Virtual Appliance.Ou seja, uma máquina virtual que possui o subversion pré-instalado e (principalmente) pré-configurado - praticamente uma coisa plug & play.Podes tentar aqui, aqui e aqui, ou apenas tente pesquisar no Google por "dispositivo virtual Subversion".

Há algum tempo, em um projeto, estávamos usando o ant para fazer construções.Ant verificaria o código mais recente do repositório SVN, faria a compilação e, em seguida, criaria uma tag no repositório SVN do código no qual a compilação foi baseada.Descobrimos que a automação Ant não funcionava em nenhum protocolo, exceto no protocolo svn://.

Portanto, se quiser usar Ant para automatizar qualquer interação com SVN, você precisará usar o protocolo svn://.

Não que eu saiba.Sempre vale a pena usar o controle de origem, então mesmo que file:// seja de alguma forma inferior, se isso significa que você realmente usar subversion, em vez de se cansar da configuração e apenas começar a codificar, então está tudo bem, segundo meu livro.

Há alguma menção a repositórios baseados em arquivos e em servidores aqui.Por favor, corrija-me se eu estiver errado, mas meu entendimento do Subversion é que um repositório é um repositório de arquivos do sistema ou um repositório Berkley DB.A distinção arquivo/servidor feita está apenas na maneira como o repositório é acessado.Ou seja, o mesmo repositório pode ser acessado (check-out, commit, etc) diretamente no sistema de arquivos com o protocolo file:/// ou por proxy com ssh, o svn sever e/ou Apache com http.

Eu uso svn:// para projetos pessoais porque frequentemente trabalho em várias máquinas na mesma rede e quero armazenar tudo no repositório da minha máquina desktop.

Nenhum que eu saiba se.Deve provar ser pelo menos um um pouco mais rápido.

Eu tenho muitas máquinas diferentes com as quais trabalho, então é mais fácil usar svn:// para os caminhos.Além disso, acho que o caminho do svn é quase sempre mais curto que os caminhos dos meus arquivos, por isso é menos necessário digitar.

Existem três razões para escolher um protocolo baseado em servidor em vez do file protocolo.

  • Tráfego de rede reduzido.

Quando você usa o protocolo de arquivo em um repositório que não reside em sua estação de trabalho, o arquivo inteiro é gravado porque, na ausência de um daemon para processá-los, os deltas não podem ser usados.

  • Você pode expor um protocolo baseado em servidor pela Internet

Isso deixa você com a questão de saber se deve usar o svn ou http protocolo.Ambos podem ser usados ​​pela rede. Svn tem a vantagem de eficiência de usar codificação binária direta em vez de codificação base64. Http é mais fácil contrabandear através de firewalls corporativos diante da obstrução burocrática.

  • Menos problemas com permissões em cenários entre domínios, como teletrabalho.

Provavelmente, sua estação de trabalho doméstica não faz parte do domínio corporativo.Um daemon de servidor Subversion funciona como um proxy.Ele é executado em um processo autenticado que possui as permissões necessárias para executar operações de E/S em seu nome.

file:// O esquema de acesso funciona bem quando você é o único que está acessando o repositório no momento.Além disso, não deverá haver problemas para colocar o repositório no servidor e disponibilizá-los através https:// ou svn:// caso você precise colaborar com outras pessoas.

No entanto, file:// URLs são feios no Windows e usar um servidor HTTP(S) ajuda você a usar URLs bonitos.O URL local típico no Windows se parece com file:///C:\Repositories\MyRepo.Contudo, prefiro https://svn.example.com/MyRepo.

Mesmo trabalhando sozinho...meu protocolo é sempre use o controle de origem mesmo para projetos pessoais.Ele fornece um ponto único de backup para todo o seu trabalho de código e permite que você mude de ideia e/ou recupere versões mais antigas.

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